Ultimele tutoriale de dezvoltare web
 

Metode HTTP: GET vs POST


Cele două metode HTTP cele mai utilizate sunt: ​​GET si POST.


Ce este HTTP?

Hypertext Transfer Protocol (HTTP) este proiectat pentru a permite comunicațiile între clienți și servere.

HTTP funcționează ca un protocol de cerere-răspuns între un client și server.

Un browser web poate fi clientul, și o aplicație pe un computer care găzduiește un site web poate fi server.

Exemplu: Un client (browser) depune o cerere HTTP la server; atunci serverul returnează un răspuns la client. Răspunsul conține informații despre starea cererii și poate conține, de asemenea, conținutul solicitat.


Două Cerere metode HTTP: GET și POST

Două metode utilizate în mod obișnuit pentru o cerere-răspuns între un client și server sunt: ​​GET si POST.

  • GET - solicitări de date dintr - o resursă specificată
  • POST - datele Înaintează fie prelucrate la o resursă specifică

Metoda GET

Note that the query string (name/value pairs) is sent in the URL of a GET request:

/test/demo_form.asp ?name1=value1&name2=value2

Some other notes on GET requests:

  • GET cereri pot fi memorate în cache
  • GET cereri rămân în istoria browser-ului
  • GET cereri poate fi marcată
  • Primiți solicitări nu ar trebui să fie utilizat atunci când se ocupă cu date sensibile
  • Solicitări au restricții GET lungime
  • GET cereri ar trebui să fie folosite numai pentru a prelua datele

Metoda POST

Note that the query string (name/value pairs) is sent in the HTTP message body of a POST request:

POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2

Some other notes on POST requests:

  • cereri POST nu sunt niciodată în cache
  • cereri POST nu rămân în istoria browser-ului
  • cereri POST nu poate fi marcată
  • cereri POST nu au restricții cu privire la lungimea de date

Compara GET vs. POST

Următorul tabel compară cele două metode HTTP: GET și POST.

OBȚINE POST
Buton BACK / Reîncărcați Inofensiv Datele vor fi retrimise (the browser should alert the user that the data are about to be re-submitted) - (the browser should alert the user that the data are about to be re-submitted) pe (the browser should alert the user that the data are about to be re-submitted)
marcată Poate fi bookmarked Nu poate fi marcată
În cache Poate fi salvată în memoria cache Nu a fost salvată în memoria cache
tipul de codare application / x-www-form-urlencoded application / x-www-form-urlencoded sau multipart / form-date. Utilizați codificarea pentru date binare multipart
Istorie Parametrii rămân în istoria browser-ului Parametrii care nu sunt salvate în istoricul browser-ului
Restricții privind lungimea datelor Da, atunci când transmiterea de date, metoda GET adaugă datele la adresa URL; și lungimea unui URL este limitată (maximum URL length is 2048 characters) de (maximum URL length is 2048 characters) Fara restrictii
Restricții privind tipul de date Doar caractere ASCII permise Fara restrictii. date binare este de asemenea permisă
Securitate GET este mai puțin sigură în comparație cu POST, deoarece datele transmise este parte a URL-ului

Nu utilizați niciodată GET la trimiterea de parole sau alte informații sensibile!
POST este un pic mai sigur decât GET, deoarece parametrii nu sunt stocate în istoricul browser-ului sau în jurnalele de server web
Vizibilitate Datele sunt vizibile pentru toată lumea în URL-ul Datele nu sunt afișate în adresa URL

Alte metode HTTP Request

Tabelul de mai jos listează câteva alte metode de solicitare HTTP:

Metodă Descriere
HEAD La fel ca GET dar returnează numai antete HTTP și nici un organism de document
PUT O reprezentare a încarcă URI specificat
DELETE Șterge resursa specificată
OPTIONS Returnează metodele HTTP pe care susține serverul
CONNECT Transformă conexiunea cerere unui / tunel TCP transparent IP