A GET és a POST a két leggyakrabban használt HTTP kérési módszer. Általában a GET kéréseket weboldalak lekérésére használják, míg a POST-t adatok küldésére használják a webszervernek, például egy webes űrlapon keresztül.
Tipp: Bár ezeket HTTP-metódusoknak nevezik, a GET és a POST is használatos a HTTPS-ben.
Az egyik fontos különbség az, hogy a GET kérésekben szereplő paraméterek magában az URL-ben szerepelnek, míg a POST kérések paraméterei a kérés törzsének részét képezik.
Például egy GET-kérés URL-je így nézhet ki: „GET.php?parameter=value”, míg a POST-kérés URL-je „POST.php”-nek tűnhet, majd a „parameter=value” a kérés törzsében van beállítva.
Ennek egyik legfontosabb következménye, hogy amikor a webszerverek naplózási kéréseket kérnek, a kért URL mindig naplózásra kerül. Tehát a GET kéréseknél a paraméterek is naplózásra kerülnek, a POST kérések esetében bár az értékek nem kerülnek naplózásra, mivel a kérés törzse nem kerül naplózásra. Ez különösen fontos az olyan űrlapok esetében, amelyek érzékeny adatokat, például jelszavakat vagy PII-t (személyazonosításra alkalmas információkat) tartalmaznak, mivel a POST használata azt jelenti, hogy ezek az információk nem jelentkeznek be a webszerverekre.
A GET és a POST közötti egyéb különbségek közé tartozik, hogy a GET kéréseket a böngésző vagy a harmadik fél gyorsítótárai tárolhatják, a GET kérések szerepelnek a böngésző előzményeiben, és könyvjelzővel is elláthatók. Összehasonlításképpen a POST kérések soha nem kerülnek gyorsítótárba, nem mentődnek a böngészési előzményekbe, és nem helyezhetők el a könyvjelzők közé.
Lehetőség van az űrlapok konfigurálására úgy, hogy GET-kéréssel küldjenek adatokat a webszervernek, de ez rossz ötlet, mivel ezek a tényezők mind szerepet játszanak. Különösen fontos az olyan érzékeny űrlapok esetében, mint a bejelentkezési űrlapok, mivel ha ez a kérés naplózásra kerül, akkor felfedné a felhasználó jelszavát, és ha a választ egy harmadik fél gyorsítótárazta, lehetővé teheti, hogy más felhasználók bejelentkezzenek a felhasználói fiókba.