I due metodi HTTP più utilizzati sono: GET e POST.
Che cosa è HTTP?
L'Hypertext Transfer Protocol (HTTP) è progettato per consentire le comunicazioni tra client e server.
HTTP funziona come un protocollo di richiesta-risposta tra un client e un server.
Un browser web può essere il cliente, e di una applicazione su un computer che ospita un sito web può essere il server.
Esempio: Un client (browser) invia una richiesta HTTP al server; quindi il server restituisce una risposta al client. La risposta contiene informazioni sullo stato della richiesta e può anche contenere il contenuto richiesto.
Due Richiesta metodi HTTP GET e POST:
Due metodi comunemente usati per una richiesta-risposta tra un client e server sono: GET e POST.
- GET - richieste di dati da una risorsa specificata
- POST - i dati non adduca da elaborare a una risorsa specificata
Il metodo GET
Si noti che la stringa di ricerca (coppie nome / valore) viene inviato nella URL di una richiesta GET:
/test/demo_form.asp?name1=value1&name2=value2
Alcuni altri note su richieste GET:
- GET richieste possono essere memorizzati nella cache
- GET richieste rimangono nella cronologia del browser
- GET richieste possono essere contrassegnate
- GET richieste non dovrebbero mai essere utilizzati quando si tratta di dati sensibili
- GET richieste hanno limiti di lunghezza
- GET richieste devono essere usati solo per recuperare i dati
Il metodo POST
Si noti che la stringa di ricerca (coppie nome / valore) viene inviato nel corpo del messaggio HTTP di una richiesta POST:
POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2
Alcuni altri note su richieste POST:
- richieste POST non vengono mai memorizzate nella cache
- richieste POST non rimangono nella cronologia del browser
- richieste POST non possono essere contrassegnate
- richieste POST non hanno restrizioni sulla lunghezza dei dati
Confronto GET vs POST
La tabella seguente mette a confronto i due metodi HTTP: GET e POST.
OTTENERE | INVIARE | |
---|---|---|
tasto BACK / ricarica | innocuo | I dati saranno nuovamente presentate (il browser dovrebbe avvertire l'utente che i dati stanno per essere ri-presentata) |
segnalibro | Può essere segnalibro | Non può essere segnalibro |
Copia cache | Possono essere memorizzate nella cache | non cache |
tipo di codifica | application / x-www-form-urlencoded | application / x-www-form-urlencoded o multipart / form-data. Utilizzare la codifica multipart per i dati binari |
Storia | I parametri rimangono nella cronologia del browser | I parametri non vengono salvati nella cronologia del browser |
Restrizioni lunghezza dei dati | Sì, quando l'invio dei dati, il metodo GET aggiunge i dati all'URL; e la lunghezza di un URL è limitata (lunghezza massima URL è di 2048 caratteri) | Senza restrizioni |
Restrizioni al tipo di dati | Solo i caratteri ASCII consentiti | Senza restrizioni. dati binari sono anche permesso |
Sicurezza | GET è meno sicuro rispetto al POST perché i dati inviati sono parte dell'URL Non usare mai GET per l'invio di password o altre informazioni sensibili! | POST è un po 'più sicuro di ottenere, perché i parametri non sono memorizzati nella cronologia del browser o nei log del server web |
Visibilità | I dati è visibile a tutti nella URL | I dati non viene visualizzato nell'URL |
Altri metodi di richiesta HTTP
La seguente tabella elenca alcuni altri metodi di richiesta HTTP:
metodo | Descrizione |
---|---|
HEAD | Uguale a ottenere, ma restituisce solo le intestazioni HTTP e nessun corpo del documento |
PUT | UPLOADS una rappresentazione della URI specificata |
DELETE | Elimina la risorsa specificata |
OPTIONS | Restituisce i metodi HTTP supportati dal server |
CONNECT | Converte la connessione richiesta di un tunnel TCP trasparente / IP |