301, 302, 307 ve 308 redirect kodları arasındaki fark nedir?
Kısa cevap
Redirect kodları, istemciye istenen kaynağın başka bir adreste olduğunu Location header'ı ile bildiren 3xx yanıtlarıdır. 301 (Moved Permanently) ve 308 (Permanent Redirect) kalıcıdır, 302 (Found) ve 307 (Temporary Redirect) geçicidir. 307 ve 308'de istemci metodu ve gövdeyi değiştirmeden yeni adrese gönderir; 301 ve 302'de tarayıcılar POST'u GET'e çevirebilir; 303 (See Other) ise yeni adresin GET ile istenmesini söyler. TR7'de kod Location Redirection aksiyonunun Redirect Code alanında ve Redirect to HTTPS aksiyonunun Redirect Scheme Code alanında seçilir; ikisinde de varsayılan 301'dir. Frontend'deki HTTP → HTTPS protokolü her zaman 301 döner; Bot/DDoS korumasındaki Redirect aksiyonunun Redirect Code alanında varsayılan 302'dir.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| Load Balancer → Actions (Policy Actions) → Location Redirection aksiyonu | Redirect Code: 301, 302, 303, 307, 308 (varsayılan 301) | İsteği başka bir adrese redirect etme |
| Load Balancer → Actions (Policy Actions) → Redirect to HTTPS aksiyonu | Redirect Scheme Code (varsayılan 301) | Koşula uyan HTTP isteğini HTTPS'e redirect etme; listede 300–308 sunulur, redirect için 301, 302, 303, 307 ya da 308 seçilir |
| Load Balancer → Load Balancer vService List → HTTP vService formu → Frontend | Protocol → Redirect → HTTP → HTTPS | Frontend'e gelen bütün şifresiz istekleri 301 ile HTTPS'e redirect etme; kod seçilmez |
| Bot/DDoS → Bot/DDoS Protected vService List → Bot/DDoS Management → Bot Protection → Action Rules | Action: Redirect → Redirect Code (varsayılan 302) | Bot skoru eşiği aşan istemciyi başka bir adrese gönderme |
| Aynı ekran → IP Reputation Protection | Action: Redirect → Redirect Code (varsayılan 302) | Kötü itibarlı IP'den gelen istemciyi başka bir adrese gönderme |
Karşılaştırma
| Kod | Ad | Kalıcılık | Metot ve gövde korunur mu |
|---|---|---|---|
| 301 | Moved Permanently | Kalıcı | Hayır; tarayıcılar POST'u GET'e çevirebilir |
| 302 | Found | Geçici | Hayır; tarayıcılar POST'u GET'e çevirebilir |
| 303 | See Other | Geçici | Hayır; yeni adres GET ile istenir |
| 307 | Temporary Redirect | Geçici | Evet |
| 308 | Permanent Redirect | Kalıcı | Evet |
Kodların tanımı RFC 9110 · Redirection 3xx bölümündedir. Bir URL'nin başka bir URL'ye redirect edilmesi: Belirli bir URL'yi başka bir URL'ye 301/302 ile nasıl yönlendiririm?
Sık Karıştırılan Noktalar
- "Geçici bir kampanya için 301 kullanılabilir." Tarayıcılar ve arama motorları 301'i kalıcı kabul eder ve tarayıcılar onu cache'leyebilir; geçici redirect'te 302 ya da 307 seçilir.
- "POST gönderen formu 301 ile taşımak sorunsuzdur." 301 ve 302'de tarayıcı POST'u GET'e çevirebilir; metodun ve gövdenin korunması gerekiyorsa 307 ya da 308 kullanılır.
- "HTTP → HTTPS frontend protokolünde kod değiştirilebilir." Bu protokol her zaman 301 döner; farklı bir kod ya da koşula bağlı redirect gerekiyorsa Redirect to HTTPS aksiyonu kullanılır (HTTP → HTTPS frontend protokol seçeneği ile Redirect to HTTPS action'ı arasındaki fark nedir?).
Dokümantasyonda nasıl yapılır
