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.
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.
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.
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).
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.
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í.