- Distinguere scopo e comportamento dei metodi HEAD, PUT, PATCH, DELETE e OPTIONS.
- Riconoscere le proprietà di sicurezza e idempotenza dei metodi HTTP.
- Inviare richieste HTTP a una risorsa di prova e analizzarle con DevTools.
- Interpretare status code, header e corpi delle risposte osservate.
Perché esistono altri metodi HTTP?
Concetto: operazioni sulle risorse | Contesto: API e servizi Web
Oltre a GET e POST, HTTP definisce metodi per richiedere solo informazioni di intestazione, creare o sostituire una risorsa, modificarla parzialmente, eliminarla o conoscere le operazioni supportate. Il metodo indica l’intenzione del client: il server decide se autorizzare e come gestire l’operazione.
| Metodo | Scopo | Sicuro | Idempotente |
|---|---|---|---|
| HEAD | Come GET, ma senza corpo della risposta | Sì | Sì |
| PUT | Creare o sostituire la rappresentazione di una risorsa | No | Sì |
| PATCH | Applicare modifiche parziali | No | Non garantito |
| DELETE | Richiedere la rimozione di una risorsa | No | Sì |
| OPTIONS | Richiedere informazioni sulle opzioni di comunicazione | Sì | Sì |

Esempi di richieste
Concetto: metodo e corpo | Contesto: API HTTP
Gli esempi seguenti rappresentano messaggi HTTP/1.1 illustrativi. Nelle connessioni HTTP/2 e HTTP/3 la codifica sul collegamento è differente, ma il significato del metodo rimane lo stesso.
HEAD /api/articoli/123 HTTP/1.1
Host: example.com
PUT /api/articoli/123 HTTP/1.1
Host: example.com
Content-Type: application/json
{"titolo":"Router","prezzo":49.90}
PATCH /api/articoli/123 HTTP/1.1
Host: example.com
Content-Type: application/json
{"prezzo":39.90}
DELETE /api/articoli/123 HTTP/1.1
Host: example.com
OPTIONS /api/articoli/123 HTTP/1.1
Host: example.com
PUT di norma sostituisce la rappresentazione della risorsa; PATCH applica una modifica secondo il formato concordato dall’API. Il solo utilizzo di JSON non definisce universalmente come applicare una PATCH: il comportamento dipende dall’endpoint.
200 OK, 201 Created, 204 No Content oppure un errore, secondo il metodo e l’operazione. Per esempio 405 Method Not Allowed indica che il metodo non è supportato per quella risorsa; l’header Allow può indicare quelli ammessi.Sicurezza e uso corretto
Concetto: autorizzazioni | Contesto: servizi Web
I metodi che modificano dati richiedono controlli lato server su autenticazione, autorizzazione e validità dell’input. HTTPS protegge i dati durante il trasporto, ma non sostituisce questi controlli. Non provare richieste PUT, PATCH o DELETE su siti o API di terzi senza autorizzazione.
Provare i metodi HTTP con DevTools
Inviare richieste a un endpoint didattico interno alla stessa pagina e osservare metodi, header e risposte.
Obiettivo: confrontare HEAD, PUT, PATCH, DELETE e OPTIONS, distinguendo corpo della richiesta e corpo della risposta.
Software: browser con DevTools. Durata indicativa: 25 minuti.
Prima di iniziare: usa i pulsanti presenti in questa pagina. Le prove sono simulate e non modificano dati reali del sito.
Procedura passo passo:
- Aprire questa lezione nel browser.
- Premere F12 e aprire Network (Rete).
- Attivare Preserve log per mantenere l’elenco delle richieste.
- Premere GET per leggere la risorsa dimostrativa iniziale.
- Premere HEAD: nella richiesta selezionata, verificare metodo e header, senza corpo della risposta.
- Modificare titolo o prezzo e premere PUT: verificare il metodo, il corpo JSON in Payload e la risposta.
- Modificare nuovamente un valore e premere PATCH: osservare la nuova risposta JSON.
- Premere OPTIONS: osservare lo status
204e l’headerAllow. - Premere DELETE: verificare lo status
204 No Contente l’assenza del corpo. - Premere nuovamente GET: in questa simulazione la risorsa viene ricreata con i valori iniziali.
I pulsanti inviano richieste a una risorsa didattica temporanea. Le modifiche valgono soltanto per questa simulazione.
Risposta del server (o indicazione di assenza del corpo):
Premere uno dei pulsanti per inviare la richiesta.
HEAD → 200 OK, nessun corpo
PUT → 200 OK, JSON con risorsa aggiornata
PATCH → 200 OK, JSON con risorsa aggiornata
OPTIONS → 204 No Content, header Allow
DELETE → 204 No Content, nessun corpoI valori sono attesi per l’endpoint didattico di questa pagina, non per tutti i server HTTP. Lo status mostrato da DevTools può apparire senza la dicitura testuale, secondo la versione del protocollo.
Esercizio autonomo: impostare titolo Switch e prezzo 79.90, premere PUT, poi GET. Annotare i valori visualizzati. Premere DELETE e verificare il codice restituito.
Risultato atteso: PUT e GET mostrano la risorsa con titolo Switch e prezzo 79.9; DELETE restituisce 204. La risorsa non viene eliminata dal sito: è solo un dato temporaneo della simulazione.
Verifica dei concetti
Obiettivo: distinguere i metodi | Concetti: corpo, idempotenza, risposta
Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.
1. Qual è la differenza tra PUT e PATCH? ▾
2. HEAD restituisce il corpo della risorsa? ▾
3. Che cosa significa idempotente? ▾
4. Perché DELETE può rispondere con 204? ▾
5. A cosa serve OPTIONS? ▾
Confronta i metodi HTTP attraverso i filtri di Network.
Apri la lezione del corso CHROME DEVTOOLS →