předcházející následující

Hyper Text Transfer Protocol


Kapitola 4. Příkazy protokolu HTTP 1.1

Obsah

4.1. PUT
4.2. DELETE
4.3. OPTIONS
4.4. TRACE

Časová náročnost kapitoly: 30 minut
Dále popisované příkazy jsou nepovinné u protokolu HTTP 1.0, nebo jsou povinnou součástí protokolu HTTP 1.1.

4.1. PUT


    Metoda PUT slouží k odesílání dat z klienta na server. Není tak běžná jako příkaz POST. Příjemce nesmí ignorovat libovolnou položku hlavičky Content-* (např. Content-Range) hlavičky, které nerozumí, nebo není implementována, a musí v tomto případě odpovědět 501 (Not Implemented).
Odpověď na tuto metodu nesmí být ukládána do cache.
    Rozdíl mezi požadavky POST and PUT se odráží v rozdílném pojetí URI. URI v požadavku POST identifikuje zdroj, kam se mají data posílat. Zdroj může být proces přijímající data, brána do jiného protokolu, nebo oddělená entita přijímající oznámení. Oproti tomu URI v požadavku PUT identifikuje entitu spojenou s požadavkem. Klient zná, který URI je požadován, a server nesmí posílat požadavek na jiné zdroje. Pokud si server přeje, aby byl požadavek směřován na jiné URI, musí odpovědět 301 (Moved Permanently).
    HTTP/1.1 nedefinuje, jak metoda PUT působí na stav serveru.

4.2. DELETE


    Metoda DELETE požaduje, aby server smazal zdroj identifikovaný pomocí URL. Vzhledem k anonymitě klientů HTTP a obecné protokolu, který je spíše používán v režimu čtení, méně potom v režimu odesílání dat na server, se tato metoda obvykle neimplementuje.
    Odpověď úspěchu může být 200 (OK), pokud odpověď obsahuje data popisující status. Odpověď může být 202 (Accepted), nebo 204 (No Content), pokud je odpověď OK, ale neobsahuje žádná data, pokud akce ještě nebyla provedena.

4.3. OPTIONS


    Metoda OPTIONS reprezentuje požadavek na informace o možnostech komunikace na požadavkovém/odpovědním kanálu identifikovaného URL. Tato metoda umožňuje klientu identifikovat možnosti a požadavky spojené se zdrojem.
     Pokud je odpověď serveru CHYBA, odpověď nesmí obsahovat pole hlavičky jiné, než které mohou být považovány jako komunikační volby (např., Allow je vhodná, ale Content-Type není). Odpovědi této metody nesmí být ukládány do cache.
    Jestliže je požadované URL opatřeno hvězdičkou ("*"), požadavek OPTIONS (OPTIONS *)je zamýšlený jako žádost na server jako celek. Odpověď 200 může obsahovat libovolné pole hlavičky, které indikuje volitelné vlastnosti serveru (např. Public).

4.4. TRACE



    Metoda TRACE se používá k zjištění cíle požadavku na aplikační vrstvě. Cílový příjemce požadavku může odeslat zprávu zpět klientu jako tělo entity s odpovědí 200 (OK). Cílový příjemce je původní server nebo proxy či brána, která přijme v poli hlavičky Max-Forwards nulovou (0) hodnotu. Požadavek TRACE nesmí obsahovat entitu.
     TRACE umožňuje klientu vidět, co je přijato na druhé straně kanálu a použít data pro testovací a diagnostické informace. Nastavením hodnoty pole hlavičky Max-Forwards umožňuje klientu omezit délku požadavkového kanálu, což je užitečné pro testování kanálu při proxy přeposílání zpráv.
     V případě úspěchu může odpověď obsahovat neporušený odeslaný požadavek v tělu zprávy s polem hlavičkou Content-Type typu "message/http". Odpověď na tuto metodu nesmí být ukládána do cache.

4.5. Cvičení


Zadání:
    Pokuste se příkazem TRACE vysledovat přes které síťové prvky (na základě IP adres) požadavek na zadanou URI prochází.




předcházející následující