Kuo skiriasi siuntimas ir užklausų gavimas?

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į, pvz., 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 taip: „GET.php? parametras=vertė“, o POST užklausos URL atrodytų kaip „POST.php“, o tada užklausos turinyje būtų nustatyta „parameter=value“.

Vienas iš pagrindinių to pasekmių yra tas, 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 slaptų duomenų, pvz., slaptažodžių ar AII (Asmens identifikavimo informacija), nes naudojant POST, ši informacija neprisijungiama interneto serveriai.

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 yra bloga idėja, nes visi šie veiksniai turi įtakos. Tai ypač svarbu jautrioms formoms, tokioms kaip prisijungimo formos, nes jei ši užklausa būtų užregistruota, ji atskleistų vartotojo slaptažodį, o jei atsakymą talpykloje išsaugojo trečioji šalis, kiti vartotojai gali prisijungti prie naudotojo sąskaitą.