Kakšna je razlika med objavo in prejemanjem zahtev?

click fraud protection

GET in POST sta dve najpogosteje uporabljeni metodi zahteve HTTP. Običajno se zahteve GET uporabljajo za zahtevo po spletnih straneh, medtem ko se POST uporablja za pošiljanje podatkov spletnemu strežniku, na primer prek spletnega obrazca.

Nasvet: Čeprav se imenujejo metode HTTP, se tako GET kot POST uporabljata tudi v HTTPS.

Ena od pomembnih razlik je, da so vsi parametri, vključeni v zahteve GET, vključeni v sam URL, medtem ko so parametri v zahtevah POST del telesa zahteve.

Na primer, URL zahteve GET je lahko videti kot »GET.php? parameter=value", medtem ko bi bil URL za zahtevo POST videti kot "POST.php", nato pa bi imel v telesu zahteve nastavljen "parameter=value".

Ena od ključnih posledic tega je, da se zahtevani URL vedno zabeleži, ko spletni strežniki zahtevajo dnevnik. Torej, za zahteve GET so tudi parametri zabeleženi, v primeru zahtev POST, čeprav vrednosti niso zabeležene, saj telo zahteve ni zabeleženo. To je še posebej pomembno za obrazce, ki vsebujejo občutljive podatke, kot so gesla ali osebna identiteta (Podatki, ki omogočajo osebno prepoznavo), saj uporaba POST pomeni, da se ti podatki ne prijavijo spletni strežniki.

Druge razlike med GET in POST vključujejo dejstvo, da lahko zahteve GET predpomni brskalnik ali predpomnilnik tretjih oseb, zahteve GET so vključene v zgodovino brskalnika in jih je mogoče zaznamovati. Zahteve POST v primerjavi se nikoli ne shranijo v predpomnilnik, niso shranjene v zgodovino brskalnika in jih ni mogoče dodati med zaznamke.

Možno je konfigurirati obrazce za uporabo zahteve GET za pošiljanje podatkov spletnemu strežniku, vendar je to slaba ideja, saj pridejo v poštev vsi ti dejavniki. To je še posebej pomembno za občutljive obrazce, kot so obrazci za prijavo, saj če bi bila ta zahteva zabeležena, bi razkrila uporabniško geslo, in če je odgovor predpomnil tretja oseba, bi lahko drugim uporabnikom omogočila, da se prijavijo v uporabnikovo račun.