English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le due metodologie HTTP più comuni sono GET e POST.
L'obiettivo del design del protocollo di trasmissione ipertestuale (HTTP) è garantire la comunicazione tra client e server.
Il funzionamento di HTTP è un protocollo di richiesta-risposta tra client e server.
Il web browser può essere il client, e le applicazioni di rete sul computer possono anche essere il server.
Esempio: il client (browser) invia una richiesta HTTP al server; il server invia una risposta al client. La risposta contiene informazioni sullo stato della richiesta e il contenuto richiesto.
Nei trasferimenti di richiesta-risposta tra client e server, i due metodi più utilizzati sono: GET e POST.
GET - Richiede dati dal risorsa specificato.
POST - Invia i dati da elaborare al risorsa specificato.
Si prega di notare che la stringa di ricerca (nome/valore) viene inviata nell'URL della richiesta GET:
/run/demo-form.php?name1=value1&name2=value2
Alcuni altri commenti sulle richieste GET:
Le richieste GET possono essere cache.
Le richieste GET vengono conservate nella cronologia del browser.
Le richieste GET possono essere aggiunte come segnalibro.
Le richieste GET non dovrebbero essere utilizzate per trattare dati sensibili.
Le richieste GET hanno una limitazione di lunghezza.
Le richieste GET dovrebbero essere utilizzate solo per recuperare dati.
Si prega di notare che la stringa di ricerca (nome/valore) viene inviata nel corpo del messaggio HTTP della richiesta POST:
POST /run/demo-form.php HTTP/1.1
Host: oldtoolbag.com
name1=value1&name2=value2
Alcuni altri commenti sui richieste POST:
Le richieste POST non verranno cache.
Le richieste POST non verranno conservate nella cronologia del browser.
POST non può essere aggiunto come segnalibro.
Le richieste POST non hanno requisiti per la lunghezza dei dati.
Il seguente elenco di tabella confronta due metodi HTTP: GET e POST.
GET | POST | |
---|---|---|
Pulsante indietro/ricarica | Inoffensivo | I dati verranno riconsegnati (il browser dovrebbe informare l'utente che i dati verranno riconsegnati). |
Segnalibro | Può essere aggiunto come segnalibro | Non può essere aggiunto come segnalibro |
Cache | Può essere cache | Non può essere cache |
Tipo di codifica | application/x-www-form-urlencoded | application/x-www-form-urlencoded o multipart/form-data. Utilizzare la codifica multipla per i dati binari. |
Cronologia | I parametri verranno conservati nella cronologia del browser. | I parametri non verranno conservati nella cronologia del browser. |
Limitazione della lunghezza dei dati | Sì. Quando si inviano dati, il metodo GET aggiunge dati all'URL; la lunghezza dell'URL è limitata (la lunghezza massima dell'URL è di 2048 caratteri). | Senza limiti. |
Limiti sui tipi di dati | Permette solo caratteri ASCII. | Senza limiti. Permette anche dati binari. |
Sicurezza | In confronto a POST, GET ha una sicurezza inferiore perché i dati inviati sono parte dell'URL. Non utilizzare mai GET quando si inviano password o altre informazioni sensibili! | POST è più sicuro di GET perché i parametri non vengono conservati nella cronologia del browser o nei log del server web. |
Visibilità | I dati sono visibili a tutti nell'URL. | I dati non vengono visualizzati nell'URL. |
La tabella seguente elenca altri metodi di richiesta HTTP:
Metodo | Descrizione |
---|---|
HEAD | Come GET, ma restituisce solo l'intestazione HTTP, non il corpo del documento. |
PUT | Carica la rappresentazione URI specificata. |
DELETE | Elimina la risorsa specificata. |
OPTIONS | Restituisci i metodi HTTP supportati dal server. |
CONNECT | Converti la connessione di richiesta in un canale TCP/IP trasparente. |