Računala Windows Internet

Razlika između get i post. Korištenje metoda GET i POST. Više o HTTP-u

Zajedničko im je da rade na isti način. Tehnički nema razlike među njima. Ali postoje ideološke razlike.

Pojasnit ću ih u kontekstu PHP-a. Imajte na umu da je HTTP protokol neizravno povezan s PHP-om jer je stvoren za razmjenu html stranicama PHP samo proširuje mogućnosti oba.

GET zahtjev se koristi za primanje podataka, a POST za slanje. (Podsjećamo, oni tehnički rade na isti način).

Stoga su u kontekstu PHP-a, na temelju ove ideologije, učinili sljedeće:
1. Superglobalni nizovi ($ _GET, $ _POST) kreiraju se prema zadanim postavkama svaki put kada pokrenete PHP.
2. Ako se u nizu upita nalazi upitnik (?). Onda sve što se računa nakon njega parametrima GET zahtjev, oni su predstavljeni u formatu "ključ" = "vrijednost", a znak ampersand (&) se koristi kao separator
Primjer:
GET /index.php?name=Andrey&surname=Galkin
ovo je niz upita, postoje 2 parametra. ovi će parametri završiti u nizu $_GET.
3. $ _POST se popunjava na drugi način. sadržaj ovog niza popunjava se iz "zaglavlja zahtjeva". Odnosno, s mjesta skrivenog od pogleda u eksplicitnom obliku. Svu rutinu stvaranja takvih zaglavlja preuzima preglednik. Iako se ponekad nešto ručno uređuje u naslovima.

Najčešće se u obrascima (za dostavljanje podataka) koristi post zahtjev.

Na primjer imamo obrazac za prijavu s 2 polja za prijavu i lozinku.

Zamislimo da koristimo metodu GET. Zatim, prilikom slanja obrasca idemo na sljedeću adresu /login.php?login=Andrey&password=123, slažemo se da uopće nije sigurno prenositi takve podatke na ovaj način. Svatko može otvoriti vaš preglednik i počevši unositi adresu stranice, može vidjeti vaše lozinke i prijave iz povijesti.

Ali ako bismo specificirali korištenjem metode POST, tada bismo primili sljedeći zahtjev:
POST /login.php (login = Andrey & lozinka = 123) što bi bilo skriveno u zagradama i ne bi bilo spremljeno u pregledniku.

Općenito, da rezimiramo:
GET je dobivanje određene stranice na određeni način (razvrstavanje, trenutna stranica bloga, niz za pretraživanje, itd.).
POST - za slanje podataka koji ne utječu na prikaz stranice, u smislu da ti podaci utječu samo na rezultat izvršavanja skripte (prijave, lozinke, brojevi kreditnih kartica, poruke itd.).

I još jedna dobra vijest, mogu se kombinirati npr
POST /index.php?page=login (login = Andrey & lozinka = 123) Mislim da sam već dovoljno objasnio što će iz toga proizaći i koji će parametri biti uključeni u koji niz.

Ovaj post ima za cilj objasniti principe prijenosa podataka na Internetu pomoću dvije glavne metode: GET i POST. Napisao sam ga kao dodatak uputama za generator smjenskog rada za one koje malo zanimaju detalji ☺.

Idite na sljedeću adresu (ovo je za vizualno objašnjenje): http://calendarin.net/calendar.php?year=2016 Obratite pažnju na adresnu traku preglednika: calendarin.net/calendar.php ? godina = 2016 Glavna datoteka je imenovana, nakon čega slijedi upitnik (?) i parametar "year" s vrijednošću "2016". Dakle, sve što slijedi nakon upitnika je GET zahtjev. Jednostavno je. Da biste proslijedili više od jednog parametra, ali nekoliko, onda ih je potrebno razdvojiti znakom &. Primjer: calendarin.net/calendar.php ? godina = 2016. & prikaz = radni dani i slobodni dani

Glavna datoteka je i dalje imenovana, nakon čega slijedi upitnik (?), zatim - parametar "year" s vrijednošću "2016", zatim - ampersand (&), zatim - parametar "display" s vrijednošću "work -dani i dani -slobodni".

GET parametri se mogu mijenjati izravno u adresna traka preglednik. Na primjer, promjenom vrijednosti "2016" u "2017" i pritiskom na tipku idete na kalendar za 2017. godinu.

Ovo je prijenos podataka na skriveni način (adresa stranice se ne mijenja); odnosno možete vidjeti što je preneseno samo uz pomoć programa (skripte). Na primjer, u sljedećem alatu za brojanje znakova u tekstu, izvorni podaci se prenose metodom POST: http://usefulonlinetools.com/free/character-counter.php

Ako imate bilo kakvih pitanja, komentara i moj e-mail na usluzi.

Osim GET metode, o kojoj smo govorili u prethodnom postu, postoji još jedna metoda za slanje zahtjeva putem HTTP protokola - POST metoda. POST metoda se također vrlo često koristi u praksi.

Ako nam je za pristup poslužitelju metodom GET bilo dovoljno upisati zahtjev u URL, onda u POST metodi sve radi po drugačijem principu.

Kako bismo ispunili ovakvu vrstu zahtjeva, potrebno je kliknuti na gumb s atributom type = "submit" koji se nalazi na web stranici. Imajte na umu da se ovaj gumb nalazi u elementu

s atributom metode postavljenim na post.

Razmotrite ovaj HTML:

Unesite tekst:


Ako korisnik unese bilo koji tekst u tekstualno polje i klikne na gumb "Pošalji", tada će se poslužitelju poslati tekstualna varijabla s vrijednošću sadržaja koju je unio korisnik.

POST i GET zahtjeve jednostavnim riječima

Ova varijabla će biti poslana metodom POST.

Ako napišete u obliku ovako:

Tada će se podaci poslati metodom GET.

Ako je, u slučaju GET zahtjeva, količina podataka koju smo mogli prenijeti bila ograničena duljinom adresne trake preglednika, tada u slučaju POST zahtjeva nema takvog ograničenja i možemo prenijeti značajne količine informacija.

Još jedna razlika između metode POST i metode GET, metoda POST skriva sve varijable koje su joj proslijeđene i njihove vrijednosti u svom tijelu (Entity-Body). U slučaju GET metode, oni su pohranjeni u stringu zahtjeva (Request-URI).

Evo primjera POST zahtjeva:

POST / HTTP / 1.0 \ r \ n
Domaćin: www.site.ru \ r \ n
Referent: http://www.site.ru/index.html\r\n
Kolačić: prihod = 1 \ r \ n
Vrsta sadržaja: aplikacija / x-www-form-urlencoded \ r \ n
Duljina sadržaja: 35 \ r \ n
\ r \ n
prijava = Dima & lozinka = 12345

Dakle, prijenosom podataka POST metodom, napadaču će biti puno teže presresti ih, jer skriveni su od pogleda, pa se POST metoda smatra sigurnijom.

Osim toga, POST metoda može prenositi ne samo tekst, već i multimedijske podatke (slike, audio, video). Postoji poseban parametar Content-Type koji određuje vrstu informacija koje je potrebno prenijeti.

Konačno, varijabla POST se koristi za dohvaćanje podataka prenesenih ovom metodom na poslužitelju.

Evo primjera obrade u PHP-u:

echo $ _POST ['tekst'];
?>

U prošlom postu smo odlučili da preglednik (klijent) šalje HTTP zahtjeve poslužitelju, a poslužitelj klijentu šalje HTTP odgovore. Ovi zahtjevi i odgovori obrađuju se prema određenim pravilima. Postoji nešto poput sintakse, kako i kojim redoslijedom treba pisati. Mora postojati dobro definirana struktura.

Pogledajmo pobliže ovu strukturu koja se koristi za izradu zahtjeva i odgovora u HTTP protokolu.

HTTP zahtjev sastoji se od tri glavna dijela, koji dolaze točno dolje prikazanim redoslijedom. Između zaglavlja i tijela poruke nalazi se prazan redak (kao separator), to je znak za prijelaz retka.

Prazan niz (separator)

Objavi i primi zahtjeve, koja je razlika između njih i koji je bolji i za koje svrhe?

tijelo poruke (Entity Body) - izborni parametar

Niz upita- određuje način prijenosa, URL za pristup i verziju HTTP protokola.

Naslovi- opisati tijelo poruka, prenijeti različite parametre i druge informacije i informacije.

tijelo poruke- to su sami podaci, koji se prenose u zahtjevu. Tijelo poruke je izborni parametar i može se izostaviti.

Kada od poslužitelja primimo zahtjev za odgovor, tijelo poruke najčešće je sadržaj web stranice. Ali, prilikom postavljanja zahtjeva poslužitelju, ponekad može biti prisutan, na primjer, kada prenosimo podatke koje smo ispunili u obrascu Povratne informacije na poslužitelj.

Detaljnije, svaki element zahtjeva razmotrit ćemo u sljedećim bilješkama.

Uzmimo za primjer jedan pravi zahtjev poslužitelja. Svaki dio zahtjeva sam istaknuo svojom bojom: redak zahtjeva je zelen, zaglavlja su narančasta, tijelo poruke je plavo.

Zahtjev iz preglednika:

Domaćin: webgyry.info

Kolačić: wp-postavke

Povezivanje: održati na životu

U sljedećem primjeru tijelo poruke je već prisutno.

Odgovor poslužitelja:

Vrsta sadržaja: tekst / html; skup znakova = UTF-8

Kodiranje prijenosa: u komadima

Povezivanje: održati na životu

Keep-Alive: timeout = 5

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

Neimenovani dokument

To su poruke koje se razmjenjuju između klijenta i poslužitelja putem HTTP protokola.

Usput, želite li znati ima li smisla u nekom elementu na vašoj stranici koristeći "ciljeve" Yandex Metrics i Google Analytics?

Oduzmite ono što NE funkcionira, dodajte ono što radi i udvostručite svoj rezultat.

Tečaj postavljanja ciljeva Yandex Metrica ..

Tečaj o postavljanju Google Analytics ciljeva ..

HTTP klijent šalje zahtjev poslužitelju u obliku poruke zahtjeva, koja ima sljedeći format:

  • Niz zahtjeva (obavezno)
  • Naslov (izborni element)
  • Prazan niz (obavezno)
  • Tijelo poruke (izborno)

Pogledajmo svaki od ovih elemenata zasebno.

Niz upita

Niz zahtjeva počinje tokenom metode, nakon čega slijedi URI zahtjeva i verzija protokola. Elementi su međusobno odvojeni razmacima:

Razmotrimo ovaj element detaljnije.

Metoda zahtjeva

Ovaj element specificira metodu koja se poziva na strani poslužitelja na specificiranom URI-ju.

Postoji osam metoda u HTTP-u:

  • GLAVA
    Koristi se za dobivanje statusnog retka i naslova s ​​poslužitelja prema URI-ju. Ne mijenja podatke.
  • DOBITI
    Koristi se za primanje podataka s poslužitelja na navedeni URI. Ne mijenja podatke.
  • POST
    Koristi se za slanje podataka na poslužitelj (kao što su informacije o razvojnim programerima, itd.) pomoću HTML obrazaca.
  • STAVITI
    Zamjenjuje sve prethodne podatke na resursu s novoučitanim podacima.
  • IZBRISATI
    Uklanja sve trenutne podatke na resursu koji je specificirao URI.
  • SPOJITI
    Uspostavlja tunelsku vezu s poslužiteljem na navedenom URI-ju.
  • OPCIJE
    Opisuje svojstva veze za navedeni resurs.
  • TRAG
    Pruža poruku koja sadrži povratni trag lokacije navedenog URI-ja resursa.

URI zahtjeva

URI (Uniform Resource Identifier) ​​je identifikator resursa na koji se šalje zahtjev. Najčešći URI format prikazan je u nastavku:

‘*’ koristi se kada HTTP zahtjev nije specifičan za određeni resurs, već za poslužitelj. Koristi se samo kada se metoda ne mora primijeniti na resurs. Na primjer,

apsolutni uri koristi se kada se HTTP zahtjev upućuje proxyju. Od proxyja se traži da proslijedi zahtjev iz dostupne predmemorije i vraća odgovor. Na primjer:

asbolutny_path | izvor koristi većina chatso.

Učenje rada s GET i POST zahtjevima

Zahtijeva se određeni resurs određenog poslužitelja. Na primjer, klijent želi dobiti resurs od poslužitelja preko porta 80. Adresa izvora je “www.proselyte.net” i šalje sljedeći zahtjev:

Traženje polja zaglavlja

Polja zaglavlja omogućuju klijentu komunikaciju Dodatne informacije o zahtjevu i o sebi poslužitelju. Ova polja djeluju kao modifikatori zahtjeva.

Ispod je popis najvažnijih polja zaglavlja koja se mogu koristiti:

  • Prihvati-Charset
  • Prihvati-kodiranje
  • Prihvati-jezik
  • Autorizacija
  • Očekivati
  • Ako se podudara
  • Ako-Modificirano-Od
  • Ako-Nema-Match
  • Ako-Raspon
  • Ako-Neizmijenjeno-Od
  • Domet
  • Referent
  • Korisnički agent

Ako želimo implementirati vlastiti klijent i vlastiti web poslužitelj, onda možemo kreirati vlastita polja zaglavlja.

Primjer HTTP zahtjeva

Ovim završavamo naše istraživanje HTTP zahtjeva.
U sljedećem članku pogledat ćemo HTTP odgovore.

Jedan od načina na koji možete poslati HTTP zahtjev poslužitelju je GET zahtjev. Ova metoda je najčešća i najčešće se njome upućuju zahtjevi poslužitelju.

Najlakši način za stvaranje GET zahtjeva je da upišete URL u adresnu traku preglednika.

Preglednik će poslužitelju prenijeti sljedeće informacije:

GET / HTTP / 1.1
Domaćin: webgyry.info
Korisnički agent: Mozilla / 5.0 (Windows NT 6.1; rv: 18.0) Gecko / 20100101 Firefox / 18.0
Prihvati: tekst / html, aplikacija / xhtml + xml, aplikacija / xml; q = 0,9, * / *; q = 0,8
Prihvati-jezik: ru-RU, ru; q = 0,8, en-US; q = 0,5, en; q = 0,3
Prihvati-kodiranje: gzip, deflate
Kolačić: wp-postavke
Povezivanje: održati na životu

Zahtjev se sastoji od dva dijela:

1. redak zahtjeva

2.zaglavlja (zaglavlja poruke)

Imajte na umu da GET zahtjev nema tijelo poruke. No, to ne znači da uz njegovu pomoć ne možemo prenijeti nikakve informacije na poslužitelj.

Razlika između metoda GET i POST

To se može učiniti pomoću posebnih GET parametara.

Da biste zahtjevu dodali GET parametre, trebate staviti znak "?" na kraj URL-a. a nakon toga počnite ih pitati prema sljedećem pravilu:

parameter_name1 = parameter_value1 & parameter_name2 = parameter_value2 & ...

Razdjelnik između parametara je znak "&".

Na primjer, ako želimo poslužitelju proslijediti dvije vrijednosti, korisničko ime i njegovu dob, to se može učiniti sljedećim redkom:

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

Kad je gotovo dati zahtjev, podaci idu u takozvanu varijablu okruženja QUERY_STRING, iz koje se mogu dohvatiti na poslužitelju koristeći web programski jezik na strani poslužitelja.

Evo primjera kako se to može učiniti u PHP-u.

echo "Vaše ime:". $ _GET ["ime"]. "
»;
echo "Vaše godine:". $ _GET ["dob"]. "
»;
?>

$ _GET ["parameter_name"] konstrukcija omogućuje vam prikaz vrijednosti proslijeđenog parametra.

Kao rezultat izvršavanja ovog koda u pregledniku, prikazat će se sljedeće:

Vaše ime: dima
Vaše godine: 27

također postavljamo zahtjev poslužitelju metodom GET.

Možda ste primijetili da na većini stranica možete vidjeti sljedeće adrese:

Http: //site/index.php? Blog = 2

Ovdje, čak i bez poznavanja php-a, možete pretpostaviti da mislimo na datoteku index.php Ali malo ljudi zna što dolazi nakon upitnika. Prilično je jednostavno: ? blog = 2 ovo je deklaracija globalne varijable "$ _GET [" blog "]" s vrijednošću "2". Stoga skripti prosljeđujem varijablu koja je odgovorna za prikaz informacija iz baze podataka. Napišimo malu skriptu u kojoj ćete sve jasno vidjeti:

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

Koristimo naredbu uvjeta if () kao uvjet je sljedeći redak:

Isset ($ _ GET ["blog"])

isset () vam omogućuje da saznate postoji li varijabla koja je navedena u zagradama, odnosno uvjet koji sam opisao u kodu zvuči ovako: Ako postoji varijabla $ _GET ["blog"], tada prikažite sadržaj ovu varijablu na ekranu. Evo što se dogodilo:

Mislim da je jasno. Stvara se globalna varijabla $ _GET s identifikatorom koji smo deklarirali u adresnoj traci ( u ovom slučaju s identifikatorom "blog")

Sada želim razjasniti jednu stvar. Pretpostavimo da trebamo deklarirati dvije varijable, kako to učiniti? Prva varijabla se deklarira iza upitnika "?" Druga varijabla je deklarirana nakon takvog "&" ( Da budem iskren, ne znam koji je ovo znak), evo primjera deklariranja tri varijable:

Http: //site/index.php? A = 1 & b = 2 & c = 3

Ovdje je izlazni kod:

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

Uvjet ide ovako:

Ako postoji globalna varijabla $ _GET ["a"] i globalna varijabla $ _GET ["b"] i globalna varijabla $ _GET ["c"], onda ih prikažite, evo rezultata:

Obrasci

Prije nego što stignemo do post upita, morate razumjeti koji su oblici? Zašto je to potrebno? Budući da je globalna varijabla $ _POST [""] kreirana kroz obrasce. Što je obrazac? Ovo su polja za unos neke vrste informacija od strane korisnika. Polja su u jednom redu, velika polja, tu su i radio gumbi, potvrdni okviri. Složimo sve redom...

Obrazac je oznaka:


elementi oblika

Obrazac ima atribute, navest ću one najčešće:

Napravimo obrazac:


elementi oblika

Kao datoteku za rukovanje, stavio sam datoteku test.php jer upravo u njemu pišem primjere za vas. Postavio sam način slanja pošte jer se te metode koriste u 99,9% slučajeva. Našoj formi dao sam i ime – forma

Sada zaronimo u svijet elemenata oblika. Prva stvar koju trebate razumjeti je da su gotovo svi elementi oznake. jedina razlika je u atributu tip kod ovih oznaka. Dopustite mi da navedem korištene elemente obrasca:

Siguran sam da ste ovakva polja vidjeli više puta, pa evo, kako kažu: "bez komentara"

Sada sastavite kratki upitnik za obuku s kojim ćemo dalje raditi. Naš zadatak je sastaviti mali upitnik koji će nam reći ime osobe koja je ispunila, spol, iz koje je zemlje, njegovu omiljenu boju i tekstualno polje u koje korisnik može dodati nešto o sebi. To sam učinio:

Vaše prezime Ime Patronim:

Tvoj spol:
M
F

Iz koje si zemlje



Omiljena boja (e):

Crno:
Crvena:
bijela:
Još:

O meni:




Imajte na umu da gotovo svaka oznaka ima atribut vrijednost, čemu služi? Zapisuje podatke koje ćete prenijeti na drugu stranicu. Nadam se da je jasno

Sada, ako pokrenemo ovaj kod u pregledniku, vidjet ćemo sljedeće:

Koristio sam atribut za obrazac akcijski sa značenjem test.php to znači, kao što sam rekao, podaci iz obrasca će biti proslijeđeni u test.php datoteku.

POST zahtjev

Sada napišimo php kod koji će nam omogućiti da vidimo informacije koje smo unijeli. Gdje se pohranjuju podaci? U slučaju zahtjeva za dobivanje, naši podaci su pohranjeni u globalnoj varijabli $ _GET [""]. Kada se napravi zahtjev za objavom, podaci će biti u globalnoj varijabli $ _POST [""]. V uglate zagrade, potrebno je registrirati, kao u slučaju globalne varijable get, identifikator. Pitanje je gdje mogu dobiti ovaj identifikator? Zato nam je potreban atribut name na elementima obrasca! Upravo ta imena služe nam kao ključ u globalni niz post. Pa, počnimo s opisom skripte:

if (isset ($ _ POST ["submit"])) (
echo "Naziv:". $ _ POST ["fio"]. "
";
echo "Seks:". $ _ POST ["seks"]. "
";
echo "Država prebivališta:". $ _ POST ["grad"]. "
";

Echo "Omiljena boja(e):
";
echo $ _POST ["color_1"]. "
";
echo $ _POST ["color_2"]. "
";
echo $ _POST ["color_3"]. "
";
echo $ _POST ["color_4"]. "
";
echo "O meni:". $ _ POST ["o"]. "


";
}
?>

Uvjet if koji smo napisali kaže: Ako postoji globalna varijabla $ _POST ["submit"], tada prikazujemo podatke na ekranu. Ova globalna varijabla se kreira ako kliknemo na gumb za slanje, zato u ovaj primjer atribut name je obavezan u gumbu. Možda se pitate zašto je atribut name neobavezan za gumb? Prilično je jednostavno. Obično programator ne prati pritisak na tipku, već prati poslane podatke. Za ispravan rad na primjer, kontakt forme, potrebno je pratiti ne pritiskanje gumba, već ispravnost unosa podataka i saznati jesu li ti podaci uopće uneseni. U našem primjeru nismo provjeravali poslane podatke, već smo jednostavno pratili klik na gumb, kako bismo pojednostavili primjer... Evo što smo dobili:

Zaključak

Pa, danas smo analizirali dvije metode prijenosa podataka između skripti, kao i galopom se upoznali s obrascima. Iskreno se nadam da će vam ova informacija barem negdje biti od koristi. Ako imate pitanja ili razmišljanja, napišite komentare. Sretno, imam sve za danas!

P.S.: Želite li računalne igrice postati još realniji? Directx 11 za Windows 7 možete besplatno preuzeti na Windows u! Uživajte u sjajnoj grafici!

Postoje dva koncepta koja su zajednička gotovo svim programima - obrada ulaznih podataka i izlaz rezultata. Na ovoj stranici ćemo se usredotočiti na rukovanje unosom CGI programa. Prvo, odakle dolazi ulaz, i drugo, kako se unos prenosi na poslužitelj. Da biste napisali učinkovite CGI programe, morate imati jasno razumijevanje ovih stvari.

Malo o HTTP-u

Poslužitelj prihvaća tri vrste zahtjeva: GET, POST i HEAD. Programski zahtjev web poslužitelju izgleda ovako:

GET /index.html HTTP / 1.0

Prvi dio, u ovom slučaju GET, je metoda zahtjeva, drugi, index.html, je traženi URL, a treći, HTTP / 1.0, je protokol koji koristi klijent.

Dvije glavne metode zahtjeva su GET i POST. To su iste metode koje su vam dostupne prilikom izrade obrasca. Metodu HEAD preglednik rijetko koristi jer zahtijeva samo zaglavlje odgovora, a tijelo odgovora se u ovom slučaju ne šalje. Na primjer, da bi provjerio je li se stranica promijenila, preglednik može tražiti zaglavlje, ali to ne generira potpunu razmjenu podataka.

GET metoda

Prema zadanim postavkama, zahtjev koristi metodu GET. Metoda POST koristi se samo kada je izričito navedena u zahtjevu za obrazac. Za CGI programera je vrlo važno razumjeti da kada se napravi GET zahtjev, podaci obrasca se šalju poslužitelju zajedno s URL-om. Web poslužitelji koji podržavaju CGI kopiraju ove podatke u varijablu okruženja pod nazivom QUERY_STRING. Nakon toga, CGI program je odgovoran za dobivanje podataka iz varijable okoline i njihovu obradu.

URL sa nizom upita izgleda ovako:

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

Znak? odvaja niz upita od stvarnog URL-a resursa; nick i psw su varijable proslijeđene poslužitelju, maks i parol su njihove vrijednosti.

POST metoda

Metoda POST koristi se kada je eksplicitno navedena u atributu METHOD obrasca. Za razliku od GET metode, POST ne postavlja podatke u URL, već u tijelo zahtjeva. POST zahtjev je vrlo sličan HTTP odgovoru. Prvi redak je standardni HTTP zahtjev koji specificira POST metodu. Može sadržavati potrebna dodatna zaglavlja, odvojena od tijela zahtjeva praznim redom.

Kada se koristi metoda POST, tijelo zahtjeva se prosljeđuje programu kao standardni ulaz.

Biranje između GET i POST

Jasno je da će se CGI programer pri razvoju obrazaca suočiti s pitanjem koju od ovih metoda koristiti. U većini slučajeva, obje metode će raditi i obje će raditi dobro. Međutim, postoje situacije kada korištenje jedne ili druge metode daje određene prednosti.

Pogledajmo nekoliko situacija u kojima ima smisla preferirati GET ili POST metodu.

  • Ako želite da se vaš program poziva referencom, prednost treba dati metodi GET.
  • Ako ne želite da se argumenti proslijeđeni vašem programu zapišu u datoteku zapisnika poslužitelja, koristite metodu POST. Na primjer, ako obrazac zahtijeva korisničko ime i lozinku, vjerojatno ne želite da se imena i lozinke spremaju u datoteku izvješća. Također, nije mudro proslijediti lozinku kao dio URL-a.
  • Ako vaš obrazac ima značajne dimenzije, na primjer, ima tekstualne okvire s bilješkama i komentarima, trebali biste koristiti metodu POST. Općenito govoreći, i u ovom slučaju možete koristiti metodu GET, ali tada možete naići na ograničenja veličine URL-a koja su različita za različite operativni sustavi i preglednici (ograničeni veličinom varijabli okruženja). Lakše je koristiti POST metodu.
  • Ako vaš obrazac sadrži polje datoteke, koristite metodu POST. Osim toga, u ovom slučaju morate postaviti vrijednost atributa ENCTYPE na multipart / form-data.

Opis

Atribut metode govori poslužitelju o metodi zahtjeva.

Sintaksa

...

Vrijednosti

Vrijednost atributa metode nije osjetljiva na velika i mala slova. Postoje dvije metode - dobiti i objaviti.

Get Ova metoda je jedna od najčešćih i dizajnirana je za dobivanje potrebnih informacija i prijenos podataka u adresnoj traci. U ovom slučaju, parovi ime = vrijednost dodaju se adresi nakon upitnika i odvajaju ampersandom (& simbolom). Pogodnost korištenja metode get leži u činjenici da se adresa sa svim parametrima može koristiti više puta, spremajući je, na primjer, u oznake preglednika, a također mijenjajući vrijednosti parametara izravno u adresnoj traci. post Metoda post šalje podatke poslužitelju u zahtjevu preglednika. To omogućuje slanje više podataka nego što je dostupno metodi get jer ima ograničenje od 4K. Velike količine podataka koriste se na forumima, poštanskim uslugama, populacijama baza podataka, prijenosima datoteka itd.

Obavezni atribut

Zadana vrijednost

HTML5 IE Cr Op Sa Fx

Oznaka FORM, atribut metode