GET vs. POST: Klíčový rozdíl mezi metodami HTTP
Co je GET?
Metoda GET se používá k připojení dat formuláře k adrese URL ve dvojici jmen nebo hodnot. Pokud použijete GET, délka URL zůstane omezená. Pomáhá uživatelům odeslat výsledek do záložky. GET je lepší pro data, která nevyžadují žádné zabezpečení nebo mají obrázky nebo textové dokumenty.
Co je POST?
POST je metoda, která je podporována protokolem HTTP a znázorňuje, že webový server přijímá data obsažená v těle zprávy. POST často používá World Wide Web k odesílání dat generovaných uživateli na webový server nebo při nahrávání souboru.
Vlastnosti GET
Zde jsou důležité funkce GET:
- Je velmi snadné označit data pomocí metody GET.
- Omezení délky metody GET je omezené.
- Tuto metodu můžete použít pouze k načtení dat z adresního řádku v prohlížeči.
- Tato metoda umožňuje snadné ukládání dat.
Vlastnosti POST
Zde jsou důležité funkce POST:
- Požadavek metody POST získává vstup z těla požadavku a řetězce dotazu.
- Data předaná pomocí metody POST nebudou viditelná v parametrech dotazu v adrese URL prohlížeče.
- parametry metod POST se neukládají do historie prohlížeče.
- Délka odesílání dat není nijak omezena.
- Pomáhá vám bezpečně předávat citlivé a důvěrné informace, jako jsou přihlašovací údaje, na server.
Příklad metody GET
Zde je příklad metody GET:
GET/RegisterStudent.asp?user=value1&pass=value2
Příklad metody POST
Zde je příklad metody POST:
POST/RegisterStudent.asp HTTP/1.1 Host: www.guru99.com user=value1&pass=value2
Formulář používající výchozí typ obsahu application/x-www-form-urlencoded:
Rozdíl mezi GET a POST
Zde jsou hlavní rozdíly mezi GET a POST:
| GET | POST |
|---|---|
| V metodě GET jsou hodnoty viditelné v URL. | V metodě POST nejsou hodnoty v URL viditelné. |
| GET má omezení na délku hodnot, obecně 255 znaků. | POST nemá žádné omezení na délku hodnot, protože jsou odesílány prostřednictvím těla HTTP. |
| Výkony GET jsou lepší ve srovnání s POST kvůli jednoduché povaze připojení hodnot k adrese URL. | Má nižší výkon ve srovnání s metodou GET kvůli času strávenému zahrnutím hodnot POST do těla HTTP. |
| Tato metoda podporuje pouze datové typy řetězců. | Tato metoda podporuje různé typy dat, jako jsou řetězcové, číselné, binární atd. |
| Výsledky GET lze uložit do záložek. | Výsledky POST nelze přidat do záložek. |
| Požadavek GET je často uložen do mezipaměti. | Požadavek POST lze jen stěží uložit do mezipaměti. |
| Parametry GET zůstávají v historii webového prohlížeče. | Parametry se neukládají do historie webového prohlížeče. |
Podívejte se na náš tutoriál o rozdílu mezi HTTP a HTTPS: - Klikněte zde
Výhody GET
Zde jsou výhody/klady používání GET:
- Metoda GET může získat informace identifikované pomocí request-URl (Uniform Resource Identifier).
- Požadavky GET lze zobrazit v historii prohlížeče.
- Umožňuje vám uložit výsledky formuláře HTML.
- K vyžádání požadovaných dat můžete snadno použít metodu GET.
Výhody POST
Zde jsou výhody/klady používání POST:
- Tato metoda vám pomůže určit identifikátor URI prostředku.
- Určení nové hlavičky umístění zdroje je velmi snadné pomocí hlavičky umístění.
- Můžete odeslat požadavek na přijetí entity jako nového zdroje, který je identifikován pomocí URI.
- Na webový server můžete odesílat data generovaná uživateli.
- Je to velmi užitečné, když nemáte žádnou představu o zdroji, který máte v URL ponechat.
- Použijte POST, když potřebujete server, který řídí generování URL vašich zdrojů.
- POST je bezpečná metoda, protože její požadavky nezůstávají v historii prohlížeče.
- Pomocí pošty můžete bez námahy přenášet velké množství dat.
- Data můžete ponechat v soukromí.
- Tuto metodu lze použít k odesílání binárních i ASCII dat.
Nevýhody GET
Zde jsou nevýhody/nevýhody použití GET:
- GET nelze použít k odesílání textových dokumentů nebo obrázků.
- Požadavky GET lze použít pouze k načtení dat
- Metodu GET nelze použít pro předávání citlivých informací, jako jsou uživatelská jména a hesla.
- Délka URL je omezená.
- Pokud použijete metodu GET, prohlížeč připojí data k URL.
- Hodnotu řetězce dotazu můžete snadno přidat do záložek v GET
Nevýhody POST
Zde jsou nevýhody/nevýhody použití POST:
- Data není možné uložit, protože data odeslaná metodou POST nejsou v URL viditelná.
- V historii prohlížeče nevidíte požadavky POST.
- Tato metoda není kompatibilní s mnoha nastaveními brány firewall.
- Nemůžete používat mezery, tabulátory, návraty krveprolití atd.
- Tato metoda není kompatibilní s některými nastaveními brány firewall.
- Metoda POST zabere spoustu času při nahrávání velkého binárního souboru.
KLÍČOVÝ ROZDÍL
- V metodě GET jsou hodnoty viditelné v adrese URL, zatímco v metodě POST hodnoty NEJSOU viditelné v adrese URL.
- GET má omezení na délku hodnot, obecně 255 znaků, zatímco POST nemá žádné omezení na délku hodnot, protože jsou odesílány prostřednictvím těla HTTP.
- Metoda GET podporuje pouze řetězcové datové typy, zatímco metoda POST podporuje různé datové typy, jako jsou řetězcové, číselné, binární atd.
- Požadavek GET lze často uložit do mezipaměti, zatímco požadavek POST lze jen stěží uložit do mezipaměti.
- Výkon GET je ve srovnání s POST lepší.



