Methodlar ve istek semantiği
301, 302, 303, 307 ve 308
Yönlendirme method’u değiştirebilir.
Kavramı anlayalım
Location yeni adresi bildirir. 301 kalıcı, 302 geçici yönlendirmedir; tarihsel istemci davranışı POST’u GET’e dönüştürebilir. 307 ve 308 method/gövdeyi koruma anlamına sahiptir. 303, işlem sonrası başka bir kaynağı GET/HEAD ile görme akışında kullanılır.
Form sonrası Post/Redirect/Get tarayıcı refresh’inin aynı formu yeniden göndermesini azaltır; sunucunun duplicate işlem korumasının yerine geçmez. API client’ın redirect politikasını açıkça bil. Origin değişirse credentials ve hassas başlıkların aktarımı kısıtlanabilir.
Redirect zinciri latency ekler, yanlış scheme veya proxy bilgisi sonsuz döngü yaratabilir. Kullanıcının verdiği her returnUrl’i kabul etmek open redirect riskidir; yerel adres veya izin listesi doğrula. Kalıcı yönlendirmeler cache’lenebilir, geri alma zorlaşabilir.
Login dönüşleri, form işlemleri ve HTTPS geçişi için.
POST’u koruması gereken akışta rastgele 302 seçmek.
Aynı konu. Üç farklı derinlik.
HTTP/1.1 301 Moved Permanently
Location: https://example.test/blogKalıcı URL değişimi.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
Geçici yönlendirmede PUT korunmalıysa hangi status daha açıktır?
Çözümü ve açıklamasını göster
307 Temporary Redirect307 method ve gövdeyi korur; hedef güveni ayrıca kontrol edilir.