GET ir POST yra du dažniausiai naudojami HTTP užklausos metodai. Paprastai GET užklausos naudojamos tinklalapių užklausoms pateikti, o POST naudojamas duomenims siųsti į žiniatinklio serverį, pavyzdžiui, naudojant žiniatinklio formą.
Patarimas: Nors jie vadinami HTTP metodais, GET ir POST taip pat naudojami HTTPS.
Vienas iš svarbių skirtumų yra tas, kad visi parametrai, įtraukti į GET užklausas, yra įtraukti į patį URL, o POST užklausų parametrai yra užklausos turinio dalis.
Pavyzdžiui, GET užklausos URL gali atrodyti kaip „GET.php?parameter=value“, o POST užklausos URL atrodo kaip „POST.php“, o tada užklausos turinyje turi būti nustatytas „parameter=value“.
Viena iš pagrindinių to pasekmių yra ta, kad kai žiniatinklio serverių registruoja užklausas, prašomas URL visada registruojamas. Taigi GET užklausų parametrai taip pat registruojami, o POST užklausų atveju reikšmės nėra registruojamos, nes užklausos turinys nėra registruojamas. Tai ypač svarbu formoms, kuriose yra neskelbtinų duomenų, pvz., slaptažodžių arba AII (asmens identifikavimo informacija), nes naudojant POST, ši informacija neprisijungiama prie žiniatinklio serverių.
Kiti skirtumai tarp GET ir POST yra tai, kad GET užklausas gali išsaugoti naršyklė arba trečiųjų šalių talpyklos, GET užklausos įtraukiamos į naršyklės istoriją ir gali būti pažymėtos. Palyginus POST užklausas, jos niekada nesaugomos talpykloje, neišsaugomos naršyklės istorijoje ir negali būti pažymėtos.
Galima sukonfigūruoti formas taip, kad GET užklausa būtų siunčiama duomenims į žiniatinklio serverį, tačiau tai daryti yra bloga mintis, nes veikia visi šie veiksniai. Tai ypač svarbu jautrioms formoms, pvz., prisijungimo formoms, nes jei ši užklausa būtų užregistruota, būtų atskleistas vartotojo slaptažodis, o jei atsakymą talpykloje saugo trečioji šalis, kiti vartotojai galėtų prisijungti prie vartotojo paskyros.