GET
Author
Albert FloresGET je v informatice jedna z dotazovacích metod HTTP protokolu, kterou webový prohlížeč (klient) získává webovou stránku (nebo jiný objekt - například obrázek) z webového serveru. Označuje též jednu z dvou metod předávání metaproměnných z webového formuláře na webový server, kde mohou být informace zpracovány (například PHP skriptem). Alternativní metodou je POST.
Dotazovací metoda GET
Metoda GET využívá [url=/1.0 zde stisknout Enter
URI objektu nesmí obsahovat speciální znaky, které proto musí být zakódovány ([[Escapování|escapovány][Uniform Resource Identifier|URI]] dokumentu, který pro HTTP jednoznačně identifikuje jednotlivé objekty na WWW serverech (lidově „na Internetu“). Používají ji webové prohlížeče, když získávají webové stránky nebo jejich součásti. +more Ručně lze tento postup snadno ukázat na získání tohoto článku Wikipedie z příkazového řádku (např. v Linuxu). V příkladu je použito URI tohoto článku s adresou http://cs. wikipedia. org/wiki/GET:.
telnet cs.wikipedia.org 80 GET /wiki/GET[/url]]) (například znak mezery za %20 nebo +).
Předávání metaproměnných
Proměnné z formuláře se předávají pomocí kódování do URI dokumenty za znakem otazník, například v následujícím URI je získána historie tohoto článku:
http://cs.wikipedia.org/w/index.php?title=GET&action=history
V tomto případě jsou předány dvě metaproměnné: title a action. Lze předávat více metaproměnných. +more Název je od hodnoty oddělen rovnítkem, jednotlivé dvojice název=hodnota jsou pak odděleny znakem ampersandu. Takto je možné předat pouze omezené množství dat, neboť maximální délka URI v požadavku GET je 512 bajtů (byť většina prohlížečů podporuje i delší URI). Předané metaproměnné se zpracovávají na straně webového serveru.
Metody GET a POST
Metoda GET by se měla používat pouze pro statické objekty (webové stránky), které se v čase mění málo. Předávání metaproměnných z webových formulářů může u metody GET uživatel snadno změnit jejich obsah jednoduchou modifikací použitého URI. +more URI je také ukládáno do historie stránek webového prohlížeče nebo do logovacího souboru webového serveru. Proto by se předávání metaproměnných z webových formulářů pomocí metody GET nemělo používat na citlivá data (například hesla). Je obvyklé, že se data získaná metodou GET cachují, přičemž cachování lze dále ovlivnit pomocí hlavičky dotazu, který obsahuje položky If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match nebo If-Range.
Data, která na straně serveru způsobí nějakou akci (například změnu v databázi), by měla být z výše uvedených důvodů předávána pomocí metody POST.
Reference
Externí odkazy
[url=http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3]Dokumentace GET[/url] na stránkách W3C