Računalniki Windows internet

Razlika med get in post. Uporaba metod GET in POST. Več o HTTP

Skupno jim je, da delujejo na enak način. Med njima ni tehnične razlike. Vendar obstajajo ideološke razlike.

O njih bom govoril v kontekstu PHP. Upoštevajte, da je protokol HTTP s PHP posredno povezan, ker je bil ustvarjen za izmenjavo html strani in PHP samo razširja možnosti obeh.

Zahteva GET se uporablja za pridobivanje podatkov, POST pa za pošiljanje. (Spominjam vas, da tehnično delujejo na enak način).

Zato so v okviru PHP, ki temelji na tej ideologiji, naredili naslednje:
1. Vsakič, ko zaženete PHP, se privzeto ustvarijo superglobalni nizi ($_GET, $_POST).
2. Če je v nizu poizvedbe vprašaj (?). Vse po tem šteje parametrov Zahteva GET, so predstavljeni v obliki "ključ"="value" in znak ampersand (&) se uporablja kot ločilo
Primer:
GET /index.php?name=Andrey&surname=Galkin
to je niz poizvedbe, obstajata 2 parametra. ti parametri bodo končali v matriki $_GET.
3. $_POST se izpolni na drugačen način. vsebina tega niza se napolni iz "glave zahteve". Se pravi z mesta, skritega očem v eksplicitni obliki. Brskalnik poskrbi za celotno rutino ustvarjanja takšnih glav. Čeprav se včasih v naslovih nekaj uredi ročno.

Najpogosteje se zahteva po pošti uporablja v obrazcih (za pošiljanje podatkov).

Na primer, imamo prijavni obrazec z 2 polji za prijavo in geslo.

Predstavljajte si, da uporabljamo metodo GET. Nato bomo ob oddaji obrazca šli na naslednji naslov /login.php?login=Andrey&password=123 se strinjam, da tovrstnih informacij sploh ni varno posredovati na ta način. Vsakdo lahko odpre vaš brskalnik in začne vnašati naslov spletnega mesta, lahko vidi vaša gesla in prijave iz zgodovine.

Toda če bi določili metodo POST, bi prejeli naslednjo zahtevo:
POST /login.php (login=Andrey&password=123), kar je v oklepajih, bi bilo skrito in nikakor ne bi bilo shranjeno v brskalniku.

Če povzamem na splošno:
GET je pridobiti določeno stran na določen način (razvrščanje, trenutna stran spletnega dnevnika, iskalni niz itd.).
POST - za pošiljanje podatkov, ki ne vplivajo na prikaz strani, v smislu, da ti podatki vplivajo le na rezultat izvedbe skripta (prijave, gesla, številke kreditnih kartic, sporočila itd.).

In še ena dobra novica, da jih je mogoče kombinirati npr
POST /index.php?page=login (login=Andrey&password=123) Mislim, da sem že dovolj razložil, kaj bo iz tega in kateri parametri bodo šli v kateri niz.

Namen te objave je pojasniti, kako se podatki prenašajo po internetu z dvema glavnima metodama: GET in POST. Napisal sem ga kot dodatek k navodilom za izmenski generator za tiste, ki jih podrobnosti komaj zanimajo ☺.

Pojdite na naslednji naslov (to je za vizualno razlago): http://calendarin.net/calendar.php?year=2016 Bodite pozorni na naslovno vrstico brskalnika: calendarin.net/calendar.php ?leto=2016 Glavna datoteka je poimenovana, sledita vprašaj (?) in parameter "leto" z vrednostjo "2016". Torej, vse, kar sledi vprašaju, je zahteva GET. Vse je preprosto. Če želite prenesti več kot en parameter, morajo biti ločeni z znakom &. Primer: calendarin.net/calendar.php ?year=2016&display=work-days-and-days-offs

Glavna datoteka je še vedno poimenovana, sledi vprašaj (?), nato parameter "leto" z vrednostjo "2016", nato ampersand (&), nato parameter "prikaz" z vrednostjo "delo- prosti dnevi".

Parametre GET lahko spremenite neposredno v naslovna vrstica brskalnik. Na primer, če spremenite vrednost »2016« v »2017« in pritisnete tipko, vas odpre koledar za leto 2017.

To je prenos podatkov na skrit način (naslov strani se ne spremeni); torej lahko vidite, kaj je bilo preneseno samo s pomočjo programa (skripta). Na primer, v naslednjem orodju za štetje znakov v besedilu se začetni podatki prenašajo z metodo POST: http://usefulonlinetools.com/free/character-counter.php

Če imate kakršna koli vprašanja, pripombe in moja e-pošta je na voljo.

Poleg metode GET, ki smo jo obravnavali v prejšnji opombi, obstaja še ena metoda za pošiljanje zahteve po protokolu HTTP - metoda POST. Metoda POST se zelo pogosto uporablja tudi v praksi.

Če je bilo za dostop do strežnika z metodo GET dovolj, da v URL vtipkamo zahtevo, potem v metodi POST vse deluje po drugem principu.

Za izvedbo tovrstne zahteve moramo klikniti na gumb z atributom type="submit", ki se nahaja na spletni strani. Upoštevajte, da se ta gumb nahaja v elementu

, ki ima atribut metode nastavljen na post.

Razmislite o tej kodi HTML:

Vnesite besedilo:


Če uporabnik vnese nekaj besedila v besedilno polje in klikne na gumb »Pošlji«, bo besedilna spremenljivka poslana na strežnik z vrednostjo vsebine, ki jo je uporabnik vnesel.

Zahteve POST in GET preprosto

Ta spremenljivka bo poslana z metodo POST.

Če pišete v obrazcu, kot je ta:

Podatki bodo poslani z metodo GET.

Če je bila v primeru zahteve GET količina podatkov, ki bi jih lahko prenesli, omejena z dolžino naslovne vrstice brskalnika, potem v primeru zahteve POST te omejitve ni in lahko prenesemo znatne količine informacij.

Druga razlika med metodo POST in metodo GET je, da metoda POST skrije vse spremenljivke in njihove vrednosti, ki so jim posredovane v svojem telesu (Entity-Body). V primeru metode GET so bili shranjeni v nizu zahteve (Request-URI).

Tukaj je primer zahteve, narejene z metodo POST:

POST / HTTP/1.0\r\n
Gostitelj: www.site.ru\r\n
Referenca: http://www.site.ru/index.html\r\n
Piškotek: prihodek=1\r\n
Vrsta vsebine: application/x-www-form-urlencoded\r\n
Dolžina vsebine: 35\r\n
\r\n
prijava=Dima&geslo=12345

Tako bo napadalec pri prenosu podatkov z metodo POST veliko težje prestregel, ker so skrite neposrednemu pogledu, zato POST metoda prenosa podatkov velja za varnejšo metodo.

Poleg tega lahko z metodo POST prenašate ne samo besedilo, temveč tudi večpredstavnostne podatke (slike, zvok, video). Obstaja poseben parameter Content-Type, ki določa vrsto informacij, ki jih je treba poslati.

In končno, da bi dobili podatke, ki so bili posredovani s to metodo na strežnik, se uporablja spremenljivka POST.

Tukaj je primer obdelave v PHP:

echo $_POST['besedilo'];
?>

V zadnji opombi smo se odločili, da brskalnik (odjemalec) strežniku pošilja zahteve HTTP, strežnik pa odjemalcu pošilja HTTP odgovore. Te zahteve in odgovori so podani v skladu z določenimi pravili. Obstaja nekaj takega, kot je sintaksa, kako in v kakšnem zaporedju je treba napisati. Obstajati mora strogo določena struktura.

Oglejmo si podrobneje to strukturo, ki gradi zahteve in odgovore v protokolu HTTP.

Zahteva HTTP je sestavljena iz treh glavnih delov, ki so prikazani v spodnjem vrstnem redu. Med glavami in telesom sporočila je prazna vrstica (kot ločilo), ki predstavlja znak nove vrstice.

Prazen niz (ločilo)

Objavi in ​​pridobi zahteve, kakšna je razlika med njima in katera je boljša in za kakšne namene?

telo sporočila (Entity Body) – neobvezni parameter

Niz poizvedbe– Določa način prenosa, URL za dostop in različico protokola HTTP.

Naslovi– opisati telo sporočila, posredovati različne parametre ter druge informacije in informacije.

telo sporočila- to so podatki sami, ki so posredovani v zahtevi. Telo sporočila ni obvezno in ga lahko izpustite.

Ko od strežnika prejmemo zahtevo za odgovor, je telo sporočila najpogosteje vsebina spletne strani. Toda pri oddaji zahtev strežniku je včasih lahko prisoten, na primer, ko prenesemo podatke, ki smo jih izpolnili v obrazcu povratne informacije na strežnik.

Podrobneje bomo vsak element zahteve obravnavali v naslednjih opombah.

Oglejmo si na primer eno resnično zahtevo do strežnika. Vsak del zahteve sem poudaril z drugo barvo: niz poizvedbe je zelen, glave so oranžne, telo sporočila pa modro.

Zahteva za brskalnik:

Gostitelj: webgyry.info

Piškotek: nastavitve wp

Povezava: ohranjaj živ

V naslednjem primeru je telo sporočila že prisotno.

Odgovor strežnika:

Vrsta vsebine: besedilo/html; nabor znakov=UTF-8

Prenosno kodiranje: razrezano na koščke

Povezava: ohranjaj živ

Ohrani živ: časovna omejitev = 5

X-Pingback: //webgyry.info/xmlrpc.php

Dokument brez naslova

To so sporočila, ki se izmenjujejo med odjemalcem in strežnikom prek protokola HTTP.

Mimogrede, vas zanima, ali ima kakšen element na vašem spletnem mestu smisel z uporabo "ciljev" Yandex Metrica in Google Analytics?

Odstranite tisto, kar ne deluje, dodajte tisto, kar deluje, in podvojite svoj prihodek.

Tečaj za določanje ciljev Yandex Metrics.

Tečaj za določanje ciljev Google Analytics.

Odjemalec HTTP strežniku pošlje zahtevo v obliki sporočila zahteve, ki ima naslednjo obliko:

  • Niz poizvedbe (zahtevan element)
  • Naslov (izbirni element)
  • Prazen niz (obvezen element)
  • Telo sporočila (izbirni element)

Razmislimo o vsakem od teh elementov posebej.

Niz poizvedbe

Niz zahteve se začne z žetonom metode, ki mu sledita URI zahteve in različica protokola. Elementi so med seboj ločeni s presledki:

Oglejmo si ta element podrobneje.

Metoda zahteve

Ta element določa metodo, ki se prikliče na strani strežnika pri podanem URI-ju.

V HTTP je osem metod:

  • GLAVA
    Uporablja se za pridobivanje statusnega niza in naslova iz strežnika z URI-jem. Ne spreminja podatkov.
  • GET
    Uporablja se za prejemanje podatkov s strežnika na določenem URI-ju. Ne spreminja podatkov.
  • OBJAVI
    Uporablja se za pošiljanje podatkov strežniku (kot so informacije o razvijalcu itd.) z uporabo obrazcev HTML.
  • PUT
    Zamenja vse prejšnje podatke o viru z na novo naloženimi podatki.
  • IZBRIŠI
    Odstrani vse trenutne podatke o viru, ki ga določa URI.
  • POVEŽI
    Vzpostavi povezavo tunela s strežnikom na podanem URI-ju.
  • OPCIJE
    Opisuje lastnosti povezave za podani vir.
  • SLEDI
    Zagotavlja sporočilo, ki vsebuje povratno sled lokacije vira, podanega v URI.

Zahtevaj URI

URI (Uniform Resource Identifier) ​​je identifikator vira, na katerega je poslana zahteva. Naslednji je najpogostejši format URI:

‘*’ uporablja se, ko zahteva HTTP ni za določen vir, ampak za strežnik. Uporablja se le, če metode ni treba uporabiti za vir. na primer,

absolutni URI uporablja, ko je zahteva HTTP poslana proxyju. Proxy mora posredovati zahtevo iz razpoložljivega predpomnilnika in vrne odgovor. Na primer:

absolutna_pot | vir najpogosteje uporabljena.

Naučite se delati z zahtevami GET in POST

Zahtevan je določen vir določenega strežnika. Na primer, odjemalec želi pridobiti vir od strežnika na vratih 80. Naslov vira je “www.proselyte.net” in pošlje naslednjo zahtevo:

Polja glave zahteve

Polja glave omogočajo odjemalcu pošiljanje Dodatne informacije o zahtevi in ​​o sebi strežniku. Ta polja delujejo kot modifikatorji poizvedbe.

Spodaj je seznam najpomembnejših polj glave, ki jih je mogoče uporabiti:

  • Sprejmi nabor znakov
  • Sprejmite kodiranje
  • Sprejmi-jezik
  • Pooblastilo
  • Pričakovati
  • Če se ujemajo
  • Če-Spremenjeno-Od
  • Če-ni-se ujemajo
  • Če Range
  • Če-Nespremenjeno-Od
  • Razpon
  • Referer
  • Uporabniški agent

Če želimo implementirati lastnega odjemalca in lastnega spletnega strežnika, potem lahko ustvarimo svoja naslovna polja.

Primer zahteve HTTP

S tem zaključujemo našo študijo zahtev HTTP.
V naslednjem članku si bomo ogledali odgovore HTTP.

Eden od načinov za pošiljanje zahteve HTTP strežniku je uporaba metode GET. Ta metoda je najpogostejša in z njo se najpogosteje pojavljajo zahteve do strežnika.

Najlažji način za ustvarjanje zahteve GET je, da vnesete URL v naslovno vrstico brskalnika.

Brskalnik bo strežniku poslal naslednje podatke:

GET/HTTP/1.1
Gostitelj: webgyry.info
Uporabniški agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Sprejmi: text/html,application/xhtml+xml,application/xml;q=0,9,*/*;q=0,8
Sprejmi-jezik: ru-RU,ru;q=0,8,en-US;q=0,5,en;q=0,3
Sprejmi kodiranje: gzip, deflate
Piškotek: nastavitve wp
Povezava: ohranjaj živ

Zahteva ima dva dela:

1. vrstica z zahtevo

2. Glave (glave sporočil)

Upoštevajte, da zahteva GET nima telesa sporočila. Vendar to ne pomeni, da z njegovo pomočjo ne moremo prenesti nobenih informacij na strežnik.

Razlika med metodama GET in POST

To je mogoče storiti s posebnimi parametri GET.

Če želite zahtevi dodati parametre GET, morate na konec URL-ja postaviti "?". in potem jih začni spraševati po naslednjem pravilu:

ime_parametra1=vrednost_parametra1&ime_parametra2=vrednost_parametra2&…

Ločilo med parametri je znak "&".

Na primer, če želimo strežniku poslati dve vrednosti, uporabniško ime in starost, lahko to storimo z naslednjo vrstico:

http://site.ru/page.php?name=dima&age=27

Ko je končano dano zahtevo, podatki gredo v tako imenovano spremenljivko okolja QUERY_STRING, iz katere jih je mogoče pridobiti na strežniku s pomočjo strežniškega spletnega programskega jezika.

Tukaj je primer, kako je to mogoče storiti v PHP.

echo "Vaše ime: ". $_GET["name"] . "
»;
echo "Vaša starost je: " . $_GET["starost"] . "
»;
?>

Konstrukcija $_GET["parameter_name"] vam omogoča prikaz vrednosti posredovanega parametra.

Kot rezultat izvajanja te kode v brskalniku boste videli:

Vaše ime: dima
Vaša starost: 27

pošljemo tudi zahtevo strežniku z metodo GET.

Morda ste opazili, da lahko na večini spletnih mest vidite naslednje naslove:

http://website/index.php?blog=2

Tu lahko tudi brez poznavanja php ugibate, da dostopamo do datoteke index.php Kaj pa sledi za vprašajem, malokdo ve. Vse je precej preprosto: ?blog=2 to je izjava globalne spremenljivke "$_GET["blog"]" z vrednostjo "2". Tako skriptu posredujem spremenljivko, ki je odgovorna za prikaz informacij iz baze podatkov. Napišimo majhen skript, v katerem boste jasno videli vse:

if(isset($_GET["blog"])) (
echo $_GET["blog"];
}
?>

Kot pogoj uporabljamo operator pogoja if(), tu je ta vrstica:

Isset($_GET["blog"])

isset() vam omogoča, da ugotovite, ali obstaja spremenljivka, ki je navedena v oklepajih, torej pogoj, ki sem ga opisal v kodi, zveni takole: Če obstaja spremenljivka $_GET["blog"], nato prikažite vsebino te spremenljivke na zaslonu. Evo, kaj se je zgodilo:

Mislim, da je jasno. Ustvarjena je globalna spremenljivka $_GET z identifikatorjem, ki smo ga navedli v naslovni vrstici ( v tem primeru z id "blog")

Zdaj bi rad pojasnil eno točko. Recimo, da moramo deklarirati dve spremenljivki, kako to storiti? Prva spremenljivka je deklarirana za vprašajem "?" Druga spremenljivka je deklarirana za takim znakom "&" ( Če sem iskren, ne vem, kaj je to znak.), tukaj je primer deklaracije treh spremenljivk:

http://website/index.php?a=1&b=2&c=3

Tukaj je izhodna koda:

if(isset($_GET["a"]) IN isset($_GET["b"]) IN isset($_GET["c"])) (
echo $_GET["a"]."
";
echo $_GET["b"]."
";
echo $_GET["c"]."
";
}
?>

Pogoj zveni takole:

Če obstaja globalna spremenljivka $_GET["a"] in globalna spremenljivka $_GET["b"] ter globalna spremenljivka $_GET["c"], ju prikažite na zaslonu, tukaj je rezultat:

Obrazci

Preden preidemo na post poizvedbe, morate razumeti, kaj so obrazci? Zakaj je to potrebno? Ker je globalna spremenljivka $_POST[""] ustvarjena z obrazci. Kaj je obrazec? To so polja za vnos niza informacij s strani uporabnika. Polja so v eni vrstici, velika polja, obstajajo tudi izbirni gumbi, potrditvena polja. Pa vse po vrsti...

Obrazec je oznaka:


elementi oblike

Obrazec ima atribute, navedel bom najpogostejše:

Ustvarimo obrazec:


elementi oblike

Kot datoteko za obravnavo sem dal datoteko test.php ker vanj pišem primere za vas. Način pošiljanja sem nastavil na objavo, ker se te metode uporabljajo v 99,9 % primerov. Našemu obrazcu sem dal tudi ime – forma

Zdaj pa se potopimo v svet elementov oblike. Prva stvar, ki jo morate razumeti, je, da so skoraj vsi elementi oznake. razlika je le v atributu tip te oznake. Naj navedem uporabljene elemente obrazca:

Prepričan sem, da ste že večkrat naleteli na takšna polja, zato tukaj, kot pravijo: "brez komentarjev"

Zdaj pa naredimo majhen vprašalnik za usposabljanje, s katerim bomo delali naprej. Naša naloga je sestaviti majhen vprašalnik, ki nam bo povedal ime osebe, ki izpolnjuje, spol, iz katere države je, najljubšo barvo in besedilno polje, kamor lahko uporabnik doda kaj o sebi. To sem naredil:

Vaše priimek Ime Patronim:

Vaš spol:
M
F

Iz katere države si



Najljubša barva(e):

Črna:
Rdeča:
bela:
drugo:

O sebi:




Upoštevajte, da ima skoraj vsaka oznaka svoj atribut vrednost za kaj je? Vsebuje podatke, ki jih boste prenesli na drugo stran. Upam, da je jasno

Zdaj, če zaženemo to kodo v brskalniku, bomo videli naslednje:

Uporabil sem atribut na obrazcu dejanje s pomenom test.php to pomeni, kot sem rekel, da se bodo podatki iz obrazca prenesli v datoteko test.php.

Zahteva POST

Zdaj pa napišimo php kodo, ki nam bo omogočila ogled vnesenih informacij. Kje so shranjeni podatki? V primeru zahteve za pridobitev so bili naši podatki v globalni spremenljivki $_GET[""]. Z zahtevo po objavi bodo podatki shranjeni v globalni spremenljivki $_POST[""]. V oglati oklepaji, morate, kot v primeru globalne spremenljivke get, napisati identifikator. Vprašanje je, kje lahko dobim ta identifikator? Zato potrebujemo atribut name na elementih obrazca! Prav ta imena nam služijo kot ključ do globalni niz post. No, začnimo opisovati scenarij:

if(isset($_POST["oddaj"])) (
echo "Ime: ".$_POST["fio"]."
";
echo "Spol: ".$_POST["sex"]."
";
echo "Država stalnega prebivališča: ".$_POST["mesto"]."
";

Echo "Priljubljene barve:
";
echo $_POST["color_1"]."
";
echo $_POST["color_2"]."
";
echo $_POST["color_3"]."
";
echo $_POST["color_4"]."
";
echo "O meni: ".$_POST["about"]."


";
}
?>

Pogoj if, ki smo ga napisali, pravi: Če globalna spremenljivka $_POST["submit"] obstaja, prikažemo podatke na zaslonu. Ta globalna spremenljivka je ustvarjena, če kliknemo na gumb za pošiljanje, zato v ta primer atribut name v gumbu je obvezen. Morda se sprašujete, zakaj je atribut imena gumba neobvezen? Vse je precej preprosto. Običajno programer ne spremlja pritiska na gumb, ampak spremlja poslane podatke. Za pravilno delovanje, na primer kontaktne obrazce, je treba spremljati ne pritiskanje gumba, temveč pravilnost vnosa podatkov in ugotoviti, ali so bili ti podatki sploh vneseni. V našem primeru nismo preverjali poslanih podatkov, ampak smo preprosto sledili kliku gumba, da poenostavimo primer ... Evo, kaj smo dobili:

Zaključek

No, za danes smo analizirali dva načina prenosa podatkov med skriptami, seznanili pa smo se tudi z obrazci v galopu. Resnično upam, da vam bodo te informacije kaj koristile. Če imate kakršna koli vprašanja ali misli, napišite komentarje. Vso srečo, to je vse za danes!

P.S.: Bi radi računalniške igre postal še bolj realen? Directx 11 za Windows 7 lahko brezplačno prenesete na Windows v! Uživajte v čudoviti grafiki!

Obstajata dva koncepta, ki sta skupna skoraj vsem programom - to je obdelava vhodnih podatkov in izhod rezultatov. Na tej strani se bomo osredotočili na ravnanje z vnosom iz programov CGI. Prvič, od kod prihaja vhod, in drugič, kako se vhod posreduje strežniku. Če želite pisati učinkovite CGI programe, morate biti jasni glede teh stvari.

Nekaj ​​o HTTP

Strežnik sprejema tri vrste zahtev: GET, POST in HEAD. Programska zahteva do spletnega strežnika izgleda takole:

GET /index.html HTTP/1.0

Prvi del, v tem primeru GET, je metoda zahteve, drugi, index.html, je zahtevani URL, tretji, HTTP/1.0, pa je protokol, ki ga uporablja odjemalec.

Dve glavni metodi zahteve sta GET in POST. To so enaki načini, ki so vam na voljo pri ustvarjanju obrazca. Brskalnik redko uporablja metodo HEAD, ker zahteva samo glavo odgovora, telo odgovora pa ni poslano. Na primer, če želite preveriti, ali se je stran spremenila, lahko brskalnik zahteva glavo, vendar to ne ustvari popolne izmenjave podatkov.

Metoda GET

Privzeto je metoda zahteve GET. Metoda POST se uporablja samo, če je izrecno navedena v zahtevi obrazca. Za programerja CGI je zelo pomembno, da razume, da se pri zahtevi GET podatki obrazca posredujejo strežniku skupaj z URL-jem. Spletni strežniki, ki podpirajo CGI, kopirajo te podatke v spremenljivko okolja, imenovano QUERY_STRING. Po tem je na programu CGI, da poskrbi za pridobivanje podatkov iz spremenljivke okolja in njihovo obdelavo.

URL z nizom poizvedbe je videti tako:

http://www.domen-name.com/login.pl?nick=maks&psw=parol

znak? loči niz poizvedbe od dejanskega URL-ja vira; nick in psw sta spremenljivki, posredovani strežniku, maks in parol sta njuni vrednosti.

Metoda POST

Metoda POST se uporablja, če je izrecno določena v atributu METHOD obrazca. Za razliko od metode GET, POST ne postavi podatkov v URL, ampak v telo zahteve. Zahteva POST je na več načinov podobna odgovoru HTTP. Prva vrstica je standardna zahteva HTTP, ki določa metodo POST. Lahko vsebuje potrebne dodatne glave, ločene od telesa zahteve s prazno vrstico.

Telo zahteve pri uporabi metode POST se v program posreduje kot standardni vhod.

Izbira med GET in POST

Jasno je, da se bo programer CGI pri razvoju obrazcev soočil z vprašanjem: katero od teh metod uporabiti. V večini primerov sta uporabni obe metodi in obe bosta dobro delovali. Vendar pa obstajajo situacije, ko uporaba ene ali druge metode zagotavlja določene prednosti.

Poglejmo si nekaj situacij, v katerih je smiselno dati prednost metodi GET ali POST.

  • Če želite, da se vaš program kliče s sklicevanjem, je treba dati prednost metodi GET.
  • Če ne želite, da se argumenti, posredovani vašemu programu, zapišejo v datoteko poročil strežnika, uporabite metodo POST. Na primer, če obrazec zahteva uporabniško ime in geslo, verjetno ne želite, da se uporabniška imena in gesla shranijo v datoteko poročila. Prav tako ni pametno posredovati gesla kot del URL-ja.
  • Če je vaš obrazec velik, na primer imate besedilna polja z opombami in komentarji, uporabite metodo POST. Na splošno lahko tudi v tem primeru uporabite metodo GET, potem pa lahko naletite na omejitve velikosti URL-jev, ki so za različne operacijski sistemi in brskalniki (omejeno z velikostjo spremenljivk okolja). Lažje je uporabiti metodo POST.
  • Če vaš obrazec vsebuje polje datoteke, uporabite metodo POST. Tudi v tem primeru morate nastaviti vrednost atributa ENCTYPE na multipart/form-data .

Opis

Atribut metode pove strežniku metodo zahteve.

Sintaksa

...

Vrednote

Vrednost atributa metode je neobčutljiva na velike in male črke. Obstajata dva načina - pridobiti in objaviti.

Get Ta metoda je ena najpogostejših in je zasnovana za pridobivanje zahtevanih informacij in posredovanje podatkov v naslovni vrstici. V tem primeru so pari ime=vrednost priloženi naslovu za vprašajem in so ločeni z znakom ampersanda (&). Priročnost uporabe metode get je v tem, da je naslov z vsemi parametri mogoče večkrat uporabiti, ga na primer shraniti v zaznamke brskalnika in spremeniti vrednosti parametrov neposredno v naslovni vrstici. post Metoda post pošlje podatke strežniku v zahtevi brskalnika. To omogoča pošiljanje več podatkov, kot je na voljo metodi get, saj ima omejitev 4 KB. Velike količine podatkov se uporabljajo v forumih, poštnih storitvah, polnjenju baz podatkov, prenosih datotek itd.

Zahtevan atribut

Privzeta vrednost

HTML5 IE Cr Op Sa Fx

Oznaka FORM, atribut metode