Jaký je rozdíl mezi žádostmi o odeslání a získání?

click fraud protection

GET a POST jsou dvě nejčastěji používané metody požadavku HTTP. Požadavky GET se obvykle používají k vyžádání webových stránek, zatímco POST se používá k odesílání dat na webový server, například prostřednictvím webového formuláře.

Tip: I když se nazývají metody HTTP, GET i POST se používají také v HTTPS.

Jedním z důležitých rozdílů je, že všechny parametry zahrnuté v požadavcích GET jsou zahrnuty v samotné adrese URL, zatímco parametry v požadavcích POST jsou součástí těla požadavku.

Například adresa URL požadavku GET může vypadat jako „GET.php? parametr=hodnota“, zatímco adresa URL pro požadavek POST by vypadala jako „POST.php“ a v těle požadavku by pak měla být nastavena hodnota „parametr=hodnota“.

Jedním z klíčových důsledků toho je, že když webové servery protokolují požadavky, požadovaná adresa URL je vždy protokolována. Takže u požadavků GET jsou parametry také protokolovány, v případě požadavků POST, i když hodnoty nejsou protokolovány, protože tělo požadavku není protokolováno. To je důležité zejména u formulářů, které obsahují citlivá data, jako jsou hesla nebo PII (Personally Identifiable Information), protože použití POST znamená, že tyto informace nebudou přihlášeny webové servery.

Mezi další rozdíly mezi GET a POST patří skutečnost, že požadavky GET mohou být uloženy do mezipaměti prohlížeče nebo mezipaměti třetích stran, požadavky GET jsou zahrnuty v historii prohlížeče a lze je uložit do záložek. Srovnávané požadavky POST se nikdy neukládají do mezipaměti, neukládají se do historie prohlížeče a nelze je přidat do záložek.

Je možné nakonfigurovat formuláře tak, aby používaly požadavek GET k odesílání dat na webový server, ale dělat to je špatný nápad, protože do hry vstupují všechny tyto faktory. Je to zvláště důležité u citlivých formulářů, jako jsou přihlašovací formuláře, protože kdyby byl tento požadavek zaznamenán, odhalil by to uživatelské heslo, a pokud byla odpověď uložena do mezipaměti třetí stranou, mohlo by to umožnit ostatním uživatelům přihlásit se do účet.