HTTP

HTTP 307 Reindirizzamento temporaneo

307 Temporary Redirect è un redirect temporaneo in cui il client deve conservare il metodo HTTP e il corpo della richiesta.

Significato

307 è una variante più rigorosa di 302: se la richiesta originale era POST, anche quella reindirizzata rimane POST con lo stesso corpo. In Chrome DevTools appare spesso 307 Internal Redirect, che non proviene dal server: è il browser a passare internamente da http:// a https:// per effetto di HSTS.

Cause comuni

  • Il server reindirizza temporaneamente l'invio di un modulo o una chiamata API.
  • Il browser applica HSTS e trasforma internamente un indirizzo http:// in https://.
  • Una manutenzione temporanea o una distribuzione del carico fra server diversi.

Cosa può fare un visitatore?

  • Normalmente non occorre intervenire quando il redirect raggiunge la pagina corretta.
  • La dicitura 307 Internal Redirect negli strumenti di Chrome è spesso il normale comportamento HSTS.

Cosa può fare il gestore?

  • Per modifiche permanenti usa 308 o 301 al posto del 307 temporaneo.
  • Per le API verifica che il client segua 307 e invii nuovamente il corpo originale della richiesta.
  • Abilita HSTS solo quando HTTPS funziona correttamente su tutti i sottodomini interessati dalla policy.

Effetti sulla SEO

Google tratta un redirect 307 del server come temporaneo, in modo simile a 302. Il 307 interno causato da HSTS non è una risposta HTTP del server e non produce di per sé un effetto SEO.

Domande frequenti

Che cos'è 307 Internal Redirect in Chrome?

Il browser passa da HTTP a HTTPS da solo, prima di contattare il server, in base a una precedente politica HSTS.

Quando usare 307 anziché 302?

Usa 307 quando è importante preservare sicuramente metodo e corpo della richiesta, per esempio con un POST.

Fonti