HTTP: Jaký je rozdíl mezi GET a POST?


Odpověď 1:

HTTP:

Požadavky POST dodávají další data z klienta (prohlížeče) na server v těle zprávy.

Naproti tomu požadavky GET obsahují všechna požadovaná data v adrese URL. Formuláře v HTML mohou použít buď metodu zadáním metody = "POST" nebo method = "GET" (výchozí) v živel.

Zadaná metoda určuje, jak jsou data formuláře odesílána na server. Když je metoda GET, všechna data formuláře jsou zakódována do URL a připojena k akci URL jako parametry řetězce dotazu. U POST se data formuláře objeví v těle zprávy požadavku HTTP.

Děkuji!

Zůstaňte v kontaktu:

Bangalore, Webdesignové společnosti, Společnost pro vývoj webových stránek Bangalore, Webdesigning Bangalore, Vývoj webových aplikací Bangalore


Odpověď 2:

GET a POST jsou dva různé typy požadavků HTTP.

Podle Wikipedie:

GET požaduje reprezentaci zadaného zdroje. Upozorňujeme, že GET by neměl být používán pro operace, které způsobují vedlejší účinky, jako je například použití pro provádění akcí ve webových aplikacích. Jedním z důvodů je to, že GET mohou být používány libovolně roboty nebo prohledávači, což by nemělo být nutné brát v úvahu vedlejší účinky, které by žádost měla vyvolat.

a

POST odesílá data, která mají být zpracována (např. Z HTML formuláře) do identifikovaného zdroje. Údaje jsou obsaženy v textu žádosti. To může mít za následek vytvoření nového zdroje nebo aktualizaci existujících zdrojů nebo obojí.

V podstatě se tedy GET používá k načtení vzdálených dat a POST se používá k vložení / aktualizaci vzdálených dat.

Specifikace HTTP / 1.1 (RFC 2616), část 9 Definice metod obsahuje další informace o GET a POST a dalších metodách HTTP, pokud máte zájem.

Kromě vysvětlení zamýšlených použití každé metody specifikace také poskytuje alespoň jeden praktický důvod, proč by měl být GET používán pouze pro načítání dat:

Autoři služeb, kteří používají protokol HTTP, NEMĚLI používat formuláře GET pro odesílání citlivých dat, protože to způsobí, že tato data budou zakódována v Request-URI. Mnoho existujících serverů, serverů proxy a uživatelských agentů zaznamená URI požadavku na místě, kde by to mohlo být viditelné pro třetí strany. Servery mohou místo toho použít odeslání formuláře založeného na POST

A konečně, důležité při použití GET pro požadavky AJAX je to, že některé prohlížeče - zejména IE - budou mezipaměti výsledky požadavku GET. Pokud tedy například provedete dotaz pomocí stejného dotazu GET, budete mít vždy stejné výsledky, a to i v případě, že data, která zadáváte dotazy, se aktualizují na straně serveru. Jedním ze způsobů, jak tento problém zmírnit, je učinit adresu URL jedinečnou pro každou žádost připojením časového razítka.


Odpověď 3:

Jednoduše řečeno,

Při použití metody GET odesíláte data prostřednictvím adresy URL. Zatímco u metody POST jsou data vložena do objektu formuláře a odeslána přímo z vašeho prohlížeče na server.

Oba mohou přenášet data, ale vždy je lepší použít POST k odesílání dat, která mají být zaznamenána, aby se zajistilo zachování integrity dat (v případě proxy a pravidel brány firewall).


Odpověď 4:

GET a POST nejsou vůbec zabezpečeny a data odeslaná prostřednictvím těchto dotazů musí být před provedením čehokoli ověřena.

Obvykle používáme GET k identifikaci a dynamickému vykreslování stránek a POST k odesílání dat formuláře, ale není tomu tak vždy.

GET má také docela malý limit bajtů, které můžete poslat ve srovnání s POST, což je mnohem méně omezené.

Google například používá GET ve formě své domovské stránky, protože výsledek musí být snadno uložen do záložek a sdílet.