HTTP 308 Permanent Redirect
Un reindirizzamento permanente con regole rigorose: l'URL si è spostato definitivamente e la richiesta deve essere ripetuta invariata.
Cosa significa HTTP 308
HTTP 308 Permanent Redirect è il fratello che preserva il metodo del 301. La risorsa si è spostata permanentemente all'URL in Location, e i client devono ripetere lì la richiesta senza cambiare il metodo o perdere il corpo.
Conta soprattutto per le API: se un endpoint che accetta POST o PUT si sposta permanentemente, un 301 potrebbe far sì che vecchi client riprovino silenziosamente con GET perdendo il payload. Un 308 mantiene intatta la scrittura.
Cause comuni delle risposte 308
- Un endpoint API che accetta scritture si è spostato permanentemente a un nuovo percorso o dominio.
- Canonicalizzazione a livello di infrastruttura (ad esempio Cloudflare o un load balancer) configurata per preservare i metodi.
- Un framework che usa 308 di default per la normalizzazione dello slash finale (Next.js, alcune CDN).
Buone pratiche per gli sviluppatori
- Scegli 308 rispetto a 301 ogni volta che richieste non-GET possono raggiungere il vecchio URL.
- Come per il 301, reindirizza in un solo passaggio e mantieni il reindirizzamento attivo a lungo termine.
- Verifica che i vecchi client API gestiscano il 308 — librerie HTTP molto vecchie potrebbero non seguirlo automaticamente.
Esempio di risposta
HTTP/1.1 308 Permanent Redirect Location: https://api.example.com/v2/upload
Impatto SEO
Per i motori di ricerca un 308 equivale a un 301: uno spostamento permanente che trasferisce i segnali di indicizzazione e posizionamento all'URL di destinazione. Scegli tra i due in base ai client, non alla SEO.
FAQ
308 equivale a 301 per la SEO?
Sì — Google tratta entrambi come uno spostamento permanente e trasferisce i segnali al nuovo URL.
Quando è richiesto 308 invece di 301?
Quando le richieste reindirizzate possono essere POST, PUT, PATCH o DELETE e il metodo e il corpo devono essere preservati.
Tutti i browser supportano il 308?
Tutti i browser moderni lo fanno. Solo client molto vecchi (ad esempio IE dell'era Windows 7, librerie HTTP antiche) avevano lacune.