HTTP 307 Temporary Redirect

Un reindirizzamento temporaneo rigoroso: vai all'altro URL e ripeti la richiesta esattamente come l'hai inviata.

Cosa significa HTTP 307

HTTP 307 Temporary Redirect funziona come 302 con una garanzia in più: il client deve ripetere la richiesta al nuovo URL con lo stesso metodo e corpo. Una POST reindirizzata resta una POST — nulla viene convertito silenziosamente in GET.

I browser generano anche 307 internamente: quando un sito è nell'elenco di preload HSTS, il browser aggiorna http:// a https:// da solo e mostra “307 Internal Redirect” negli strumenti per sviluppatori senza alcuna richiesta di rete.

Cause comuni delle risposte 307

  • Un'API reindirizza temporaneamente una richiesta POST/PUT a un altro endpoint.
  • HSTS: il browser aggiorna http:// a https:// internamente (mostrato come 307 negli strumenti per sviluppatori).
  • Riduzione del carico o finestre di manutenzione che instradano le scritture verso un endpoint di riserva.

Buone pratiche per gli sviluppatori

  • Usa 307 ogni volta che una richiesta reindirizzata ha un corpo che deve sopravvivere al passaggio.
  • Per gli spostamenti permanenti che preservano il metodo, usa invece 308.
  • Ricorda che i client reinviano l'intero corpo — evita 307 per upload molto grandi se puoi indirizzare i client all'URL corretto fin dall'inizio.

Esempio di risposta

HTTP/1.1 307 Temporary Redirect
Location: https://api.example.com/v2/orders
Retry-After: 0

FAQ

Qual è la differenza tra 302 e 307?

Entrambi sono temporanei, ma 307 vieta di cambiare il metodo di richiesta — una POST viene ripetuta come POST. Con 302, i browser storicamente passano a GET.

Perché gli strumenti per sviluppatori mostrano “307 Internal Redirect”?

Il browser ha aggiornato la richiesta a HTTPS da solo (HSTS) senza contattare il server. Viene mostrato come un 307 sintetico.

Esiste una versione permanente del 307?

Sì — 308 Permanent Redirect: stessa regola di preservazione del metodo, ma cache e motori di ricerca trattano lo spostamento come permanente.