Aký je rozdiel medzi žiadosťami o odosielanie a prijímanie?

GET a POST sú dve najčastejšie používané metódy požiadaviek HTTP. Požiadavky GET sa zvyčajne používajú na vyžiadanie webových stránok, zatiaľ čo POST sa používa na odosielanie údajov na webový server, napríklad prostredníctvom webového formulára.

Tip: Aj keď sa nazývajú metódy HTTP, v HTTPS sa používajú aj GET aj POST.

Jedným z dôležitých rozdielov je, že všetky parametre zahrnuté v požiadavkách GET sú zahrnuté v samotnej adrese URL, zatiaľ čo parametre v požiadavkách POST sú súčasťou tela požiadavky.

Napríklad adresa URL požiadavky GET môže vyzerať ako „GET.php? parameter=value“, zatiaľ čo adresa URL požiadavky POST by vyzerala ako „POST.php“ a potom by mala v tele požiadavky nastavenú hodnotu „parameter=value“.

Jedným z kľúčových dôsledkov tohto je, že keď webové servery protokolujú žiadosti, požadovaná adresa URL sa vždy zaznamená. V prípade požiadaviek GET sa teda parametre zaprotokolujú aj v prípade požiadaviek POST, hoci hodnoty sa nezaprotokolujú, pretože telo požiadavky sa nezaprotokoluje. Toto je obzvlášť dôležité pre formuláre, ktoré obsahujú citlivé údaje, ako sú heslá alebo PII (Osobne identifikovateľné informácie), pretože použitie POST znamená, že tieto informácie sa neprihlásia webové servery.

Medzi ďalšie rozdiely medzi GET a POST patrí skutočnosť, že požiadavky GET môžu byť uložené do vyrovnávacej pamäte prehliadača alebo vyrovnávacej pamäte tretích strán, požiadavky GET sú zahrnuté v histórii prehliadača a môžu byť uložené ako záložky. Porovnané požiadavky POST sa nikdy neukladajú do vyrovnávacej pamäte, neukladajú sa do histórie prehliadača a nemožno ich uložiť do záložiek.

Je možné nakonfigurovať formuláre tak, aby používali požiadavku GET na odosielanie údajov na webový server, ale je to zlý nápad, pretože do hry vstupujú všetky tieto faktory. Je to obzvlášť dôležité pre citlivé formuláre, ako sú prihlasovacie formuláre, pretože ak by bola táto žiadosť zaznamenaná, odhalila by to heslo používateľa a ak odpoveď bola uložená do vyrovnávacej pamäte treťou stranou, mohlo by to umožniť ostatným používateľom prihlásiť sa do používateľského účtu.