HTTP 307 Temporary Redirect

Katı bir geçici yönlendirme: diğer URL'ye gidin ve isteği tam olarak gönderdiğiniz şekilde tekrarlayın.

HTTP 307 ne anlama gelir

HTTP 307 Temporary Redirect, eklenen bir garantiyle 302 gibi çalışır: istemci, isteği aynı yöntem ve gövdeyle yeni URL'ye tekrarlamalıdır. Yönlendirilen bir POST, POST olarak kalır — hiçbir şey sessizce GET'e dönüştürülmez.

Tarayıcılar ayrıca 307'yi dahili olarak da üretir: bir site HSTS ön yükleme (preload) listesindeyse, tarayıcı http://'yi kendisi https://'ye yükseltir ve DevTools'ta herhangi bir ağ isteği olmadan "307 Internal Redirect" gösterir.

307 yanıtlarının yaygın nedenleri

  • Bir API, bir POST/PUT isteğini geçici olarak başka bir uç noktaya yönlendiriyor.
  • HSTS: tarayıcı http://'yi dahili olarak https://'ye yükseltiyor (DevTools'ta 307 olarak gösterilir).
  • Yük boşaltma veya bakım pencereleri, yazma işlemlerini bir yedek uç noktaya yeniden yönlendiriyor.

Geliştiriciler için iyi uygulamalar

  • Yönlendirilen bir isteğin sıçramayı sağlam geçirmesi gereken bir gövdesi olduğunda her zaman 307 kullanın.
  • Kalıcı, yöntem koruyan taşımalar için bunun yerine 308 kullanın.
  • İstemcilerin tam gövdeyi yeniden gönderdiğini unutmayın — mümkünse istemcileri baştan doğru URL'ye yönlendirebiliyorsanız çok büyük yüklemeler için 307'den kaçının.

Örnek yanıt

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

SSS

302 ile 307 arasındaki fark nedir?

Her ikisi de geçicidir, ancak 307 istek yönteminin değiştirilmesini yasaklar — bir POST, POST olarak tekrarlanır. 302 ile tarayıcılar tarihsel olarak GET'e geçer.

DevTools neden "307 Internal Redirect" gösteriyor?

Tarayıcı, sunucuyla iletişime geçmeden isteği kendisi HTTPS'e yükseltti (HSTS). Bu, sentetik bir 307 olarak gösterilir.

307'nin kalıcı bir versiyonu var mı?

Evet — 308 Permanent Redirect: aynı yöntem koruyan kural, ama önbellekler ve arama motorları taşımayı kalıcı olarak ele alır.