Metodi di richiesta HTML
- Pagina precedente Messaggio HTTP
- Pagina successiva Combinazioni di tasti da tastiera
Cos'è HTTP?
HyperText Transfer Protocol (HTTP, abbreviazione HTTP) è progettato per abilitare la comunicazione tra client e server.
HTTP funge da protocollo di richiesta-risposta tra client e server.
Esempio: il client (browser) invia una richiesta HTTP al server; quindi il server restituisce la risposta al client. La risposta contiene informazioni sullo stato della richiesta, potrebbe anche contenere il contenuto richiesto.
Metodi HTTP
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
I due metodi più comuni sono: GET e POST.
Metodo GET
GET utilizzato per richiedere dati da risorse specifiche.
GET è uno dei metodi HTTP più comuni.
Attenzione, la stringa di ricerca (paia di nome/valore) viene inviata nella URL della richiesta GET:
/test/demo_form.php?name1=value1&name2=value2
Alcuni altri commenti sulle richieste GET:
- Le richieste GET possono essere memorizzate nella cache
- Le richieste GET vengono conservate nella cronologia del browser
- Le richieste GET possono essere aggiunte come segnalibro
- Non utilizzare le richieste GET per elaborare dati sensibili
- Le richieste GET hanno una lunghezza limitata
- Le richieste GET dovrebbero essere utilizzate solo per recuperare dati (non modificare)
Metodo POST
POST viene utilizzato per inviare dati al server per creare/aggiornare la risorsa.
I dati inviati al server tramite POST vengono memorizzati nel corpo della richiesta HTTP:
POST /test/demo_form.php HTTP/1.1 Host: codew3c.com name1=value1&name2=value2
POST è uno dei metodi HTTP più comuni.
Alcuni altri commenti sulla richiesta POST:
- La richiesta POST non viene memorizzata nella cache
- La richiesta POST non viene conservata nella cronologia del browser
- La richiesta POST non può essere aggiunta come segnalibro
- La richiesta POST non ha restrizioni sulla lunghezza dei dati
Metodo PUT
PUT viene utilizzato per inviare dati al server per creare/aggiornare la risorsa.
La differenza tra POST e PUT sta nel fatto che la richiesta PUT è idempotente (idempotent). Questo significa che più invocazioni della stessa richiesta PUT produrranno sempre lo stesso risultato. Al contrario, la ripetizione dell'invocazione di una richiesta POST avrà l'effetto collaterale di creare più volte la stessa risorsa.
Metodo HEAD
HEAD è quasi uguale a GET, ma senza corpo della risposta.
In altre parole, se GET /users restituisce una lista di utenti, HEAD /users invierà la stessa richiesta, ma non restituirà la lista degli utenti.
La richiesta HEAD è utile per verificare il contenuto che la richiesta GET restituirà prima di inviarla (ad esempio, prima di scaricare un file grande o di ricevere il corpo della risposta).
Metodo DELETE
Il metodo DELETE elimina la risorsa specificata.
Metodo OPTIONS
Il metodo OPTIONS descrive le opzioni di comunicazione della risorsa target.
Confronto GET e POST
Il seguente elenco di tabella confronta due metodi HTTP: GET e POST.
GET | POST | |
---|---|---|
Pulsante indietro/ricarica | Inoffensivo | I dati verranno nuovamente inviati (il browser dovrebbe informare l'utente che i dati verranno nuovamente inviati). |
Segnalibro | Può essere aggiunto come segnalibro | Non può essere aggiunto come segnalibro |
Cache | Può essere memorizzato nella cache | Non può essere cacheato |
Tipo di encoding | application/x-www-form-urlencoded | application/x-www-form-urlencoded o multipart/form-data. Utilizzare l'encoding multiplo per i dati binari. |
Cronologia | I parametri vengono conservati nella cronologia del browser. | I parametri non vengono conservati nella cronologia del browser. |
Limiti di 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). | Nessun limite. |
Limiti di tipo di dati | Permette solo caratteri ASCII. | Nessun limite. Permette anche dati binari. |
Sicurezza | In confronto a POST, GET ha una sicurezza inferiore, poiché i dati inviati sono parte dell'URL. Non utilizzare mai GET quando si inviano password o altre informazioni sensibili! |
POST è più sicuro rispetto a GET, poiché 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 verranno visualizzati nell'URL. |
- Pagina precedente Messaggio HTTP
- Pagina successiva Combinazioni di tasti da tastiera