Metodi HTTP e codifica URL

📋 Obiettivi di apprendimento
Descrivere i principali metodi HTTP (GET, POST, PUT, DELETE) e associarli alle operazioni CRUD
Spiegare la differenza tra passaggio di parametri con GET e POST, indicando vantaggi e limiti di ciascuno
Applicare la codifica URL (percent-encoding) per trasformare stringhe contenenti caratteri speciali
Costruire correttamente una query string con coppie nome=valore separate da &
📄
Slides
slide complete con diagrammi

I metodi HTTP

I metodi HTTP (detti anche verbi) rappresentano l’intenzione del client: indicano al server quale operazione vuole eseguire sulla risorsa identificata dall’URI. I quattro principali corrispondono alle operazioni CRUD.

Metodo
Operazione CRUD
Descrizione
GET
Read
Richiede una risorsa dal server (es. una pagina HTML, un’immagine, dati JSON)
POST
Create
Invia dati al server per creare una nuova risorsa (es. registrazione utente, nuovo post)
PUT
Update
Carica o aggiorna una risorsa esistente sul server (sostituzione completa)
DELETE
Delete
Rimuove una risorsa dal server
📌 CRUD ↔ HTTP — mappa rapida
Create
POST
Read
GET
Update
PUT
Delete
DELETE

GET vs POST — passaggio dei parametri

La differenza fondamentale tra GET e POST riguarda dove vengono inseriti i parametri nella richiesta:

GET — parametri nell’URL

I parametri sono concatenati all’URL dopo il carattere ?, separati da &:

www.sito.it/index.php?nome=mario&cognome=rossi
Vantaggi
  • Richiesta condivisibile via link
  • Memorizzabile nei preferiti
  • Cacheable
Limiti
  • Parametri visibili nella barra degli indirizzi
  • Lunghezza URL limitata (~2000 char)
  • Non adatto a dati sensibili
POST — parametri nel body

I parametri non sono visibili nell’URL, ma vengono inseriti nel body della richiesta:

POST www.sito.it/index.php

nome=mario&cognome=rossi
Vantaggi
  • Parametri non visibili nell’URL
  • Nessun limite di dimensione
  • Adatto a dati sensibili e file
Limiti
  • Non condivisibile via link
  • Non cacheable
  • I dati nel body sono comunque visibili con strumenti di analisi (Wireshark, DevTools)
⚠️ Sicurezza — attenzione

POST non è intrinsecamente “sicuro”: i dati nel body sono leggibili in chiaro se la connessione non è cifrata. La vera sicurezza si ottiene usando HTTPS, che cifra l’intera comunicazione HTTP — inclusi header e body.

La codifica URL (URL Encoding)

La codifica URL (o percent-encoding) è il processo di trasformazione di una stringa di testo in un formato trasmissibile via HTTP. È necessaria perché gli URL possono contenere solo caratteri ASCII “sicuri”: tutti gli altri devono essere codificati.

Come funziona

Ogni carattere non sicuro viene sostituito con %XX, dove XX è il suo valore ASCII in esadecimale:

Esempio — prima e dopo la codifica
Stringa originale
societa=Rossi & Martini
Stringa codificata
societa=Rossi%20%26%20Martini

Caratteri speciali più comuni

Carattere
Codifica
Descrizione
(spazio)
%20
Spazio bianco
&
%26
Separatore parametri
=
%3D
Assegnazione nome=valore
%
%25
Carattere percent stesso
+
%2B
Plus (lo spazio può anche diventare +)

Procedura di codifica

  1. Identificare tutti i caratteri non sicuri nella stringa (spazi, &, %, =, +, @, ecc.)
  2. Sostituirli con la sequenza %XX usando il codice ASCII esadecimale del carattere
  3. Unire coppie nome=valore con = e separarle con &
📌 Riepilogo — Punti chiave
  • I 4 metodi principali (GET/POST/PUT/DELETE) corrispondono alle operazioni CRUD (Read/Create/Update/Delete)
  • GET inserisce i parametri nella query string dell’URL; POST li inserisce nel body della richiesta
  • La codifica URL converte i caratteri speciali nel formato %XX
  • La sicurezza reale non dipende dal metodo (GET vs POST) ma dall’uso di HTTPS

Lascia un commento