Obsah
Časová náročnost kapitoly: 15 minut
Sada
běžných příkazů HTTP/1.0 je popsáná dále. Tato sada příkazů může být
implementátorem rozšířena, přídavné metody nemohou předpokládat
stejnou sémantiku pro odděleně vytvořené servery a klienty.
Příkaz GET načte požadované informace,
identifikované pomocí URL adresy, jen ze serveru. S použitím pole
hlavičky If-Modified-Since je možné implementovat načtení dat, pokud
byly změněny od stanoveného data. Pomocí této hlavičky jsme schopni
rozhodnout, jestli data načtená v cache od minulého použití jsou
aktuální, nebo je musíme načítat znovu.
Syntaxe: GET <URL>
HTTP/1.0
Příklad: GET http://www.seznam.cz/index.htm HTTP/1.0
Metoda HEAD je identická jako metoda
GET s tím rozdílem, že server nevrací žádné tělo zprávy.
Metainformace obsažené v hlavičce odpovědi na požadavek příkazu HEAD
jsou stejné jako u příkazu GET. Tato metoda je často používána pro
testování dostupnosti nebo aktuálnosti změn odkazů. Pokud je použito
pole hlavičky If-Modified-Since, je ignorováno.
Syntaxe je
stejná jako u příkazu GET
Metoda POST se používá k odeslání
informací na server. Nejčastější použití je odeslání dat vyplněného
formuláře na server. POST je vytvořena, aby pomohla zajistit ostatním
metodám tyto funkce:
Komentář k existujícím zdrojů
Odeslání zprávy na vývěsku, konference, emailového seznamu nebo podobných skupin
Zajištění bloku dat jako výsledek odeslání formuláře
Rozšíření databáze pomocí operace append.
Aktuální funkce prováděné metodou POST
jsou odvozeny serverem a obvykle závisejí na požadavkové URI. Pomocí
URI se rozlišuje operace s daty prováděná.
Při
použití metody POST je vyžadováno správně vyplněné pole hlavičky
Content-Length. Server může odpovědět chybovou zprávou 400 (bad
request), pokud nedokáže určit velikost obsahu zprávy. Aplikace nesmí
cachovat odpovědí na příkaz POST, protože nemají žádnou možnost jak
zjistit, zda server v budoucnu na stejný požadavek odpoví stejně.
Zadání:
Které příkazy se používají
k odeslání dat na server a které slouží k získání informací ze
serveru?
Zadání:
Jaké operace můžeme
realizovat pomocí příkazu POST?
Zadání:
Jaký je rozdíl v použití
příkazů GET a HEAD?