İçeriğe geç
GÜNCELADRESAdres takibiGiriş

301 ve 302 yönlendirme farkı nedir?

İkisi de sizi başka bir adrese götürür; fark <strong>tarayıcının bu bilgiyi ne kadar sakladığında</strong> ve arama motorunun hangi adresi asıl kabul ettiğindedir. 301 "bu adres kalıcı olarak taşındı, artık yenisini kullan" der ve tarayıcı bunu diske yazar. 302 "şimdilik oraya git ama eskisini unutma" der ve kayıt kalıcı olmaz. Yanlış kodun seçilmesi, kullanıcının aylarca yanlış adrese kilitlenmesine ya da yeni adresin arama sonuçlarına hiç yerleşememesine yol açar.

Güncellendi:

Yönlendirme Aslında Bir Cevaptır

Tarayıcı bir adres istediğinde sunucu ya içeriği gönderir ya da "içerik burada değil, şurada" diyen bir durum kodu döndürür. Bu kod 3 ile başlar ve yanında yeni adresi taşıyan bir başlık gelir. Tarayıcı o başlığı okur, yeni adrese ikinci bir istek yapar ve sonuç adres çubuğunda yeni adres olarak görünür. Tüm işlem milisaniyelerle ölçülür; kullanıcı çoğu zaman iki istek yapıldığını fark etmez.

Kodun sayısı, tarayıcıya bu bilgiyi ne kadar süre saklaması gerektiğini söyler. 301 kalıcıdır: tarayıcı kaydı diske yazar ve bir dahaki sefere sunucuya hiç sormadan doğrudan yeni adrese gider. 302 geçicidir: kayıt tutulmaz, her seferinde eski adres yeniden sorulur ve sunucu her defasında nereye gidileceğini söyler.

Bu ayrımın günlük hayattaki karşılığı şudur: 301 ile yönlendirilmiş bir adresi geri almak istediğinizde, tarayıcı sizi hâlâ eski karara göre yönlendirmeye devam eder. Sunucudaki kural kaldırılmış olsa bile tarayıcının kendi kaydı devrededir ve yalnızca önbellek temizlenerek ya da kaydın süresi dolarak kırılır.

Yönlendirme Kodları ve Anlamları

Beş kod pratikte karşınıza çıkar. Üçüncü sütun, sorunların çoğunun kaynağıdır: tarayıcının kaydı saklayıp saklamadığı.

KodAnlamıTarayıcı kaydı saklar mı?Tipik kullanım
301 Moved PermanentlyKalıcı taşınmaEvet, diske yazarAlan adı değişimi, eski sayfanın yenisiyle birleşmesi
302 FoundGeçici yönlendirmeHayırBakım sayfası, dönemsel kampanya, A/B testi
303 See OtherForm sonrası yönlendirmeHayırGönderilen formdan sonuç sayfasına geçiş
307 Temporary RedirectGeçici, yöntem korunurHayırPOST isteğinin GET'e dönüşmemesi gereken durumlar
308 Permanent RedirectKalıcı, yöntem korunurEvet301'in yöntem koruyan modern karşılığı

301 ve 302'nin eski davranışında POST istekleri GET'e dönüşebiliyordu. 307 ve 308 bu belirsizliği kapatmak için tanımlandı; ikisi de isteğin yöntemini değiştirmeden aktarır.

Aynı Senaryo, İki Farklı Sonuç

Bir adres kapatılıp trafiği yenisine taşınıyor. Aşağıdaki satırlar, aynı taşımanın 301 ve 302 ile nasıl farklı sonuçlandığını gösterir.

Durum301 ile302 ile
İkinci ziyarette ne olurTarayıcı sunucuya sormadan yeni adrese giderEski adres yeniden sorulur, sunucu tekrar yönlendirir
Arama motoru hangi adresi dizinde tutarZamanla yeni adres; eski adresin sinyalleri yeniye aktarılırGenellikle eski adres; yeni adres geçici sayılır
Yönlendirme geri alınırsaTarayıcı eski kararı uygulamaya devam eder, önbellek temizliği gerekirBir sonraki istekte anında normale döner
Yer imi davranışıKayıtlı eski yer imi çalışır ama her seferinde yeniye taşırAynı; ancak sunucu kuralı kalkarsa yer imi eski hedefe döner
Yanlış kullanıldığında bedeliGeçici bir durum kalıcı yazılmışsa geri dönüş zordurKalıcı bir taşıma geçici yazılmışsa yeni adres bir türlü yerleşmez

Pratik kural: geri dönme ihtimali varsa 302, yoksa 301. Yanlış tarafta hata yapmanın maliyeti asimetriktir — 302 yazıp sonra 301'e geçmek kolaydır, tersi değildir.

Bir Adresin Hangi Kodla Yönlendirildiğini Görmek

Adres çubuğu yalnızca sonucu gösterir, yolu göstermez. Kodu görmek için tarayıcının kendi araçları yeterlidir; ek program gerekmez.

  1. Geliştirici araçlarını açın

    Sayfada F12 tuşuna basın ve "Ağ" (Network) sekmesine geçin. Panel açıkken sayfayı yenileyin; ilk satır, adres çubuğuna yazdığınız adrestir.

  2. "Yönlendirmeleri koru" seçeneğini işaretleyin

    Panelde bu seçenek kapalıysa yönlendirme satırları listeden kaybolur ve yalnızca son adres görünür. İşaretlendiğinde zincirin her adımı ayrı satır olarak listelenir.

  3. Durum sütununu okuyun

    İlk satırın durumu 301 ise kalıcı, 302 ya da 307 ise geçici bir yönlendirmedir. Aynı listede birden fazla 3xx satırı varsa zincir uzundur ve her halka ek gecikme demektir.

  4. Location başlığına bakın

    Satıra tıklayıp yanıt başlıklarını açın. "Location" satırı, sunucunun sizi tam olarak nereye gönderdiğini yazar. Görünen hedef beklediğinizden farklıysa zincirde araya giren bir katman vardır.

  5. Önbellek etkisini gizli pencerede sınayın

    301 kaydı tarayıcıya yazıldığı için normal pencerede sunucu kuralını değiştirseniz bile eski davranışı görürsünüz. Gizli pencere temiz bir önbellekle açıldığından, sunucunun şu anda gerçekten ne döndürdüğünü gösterir.

Yönlendirmede Beş Yaygın Hata

Hataların ortak yanı, hepsinin ilk gün fark edilmemesidir; bedeli haftalar sonra ortaya çıkar.

  • Geçici durumu 301 ile yazmak

    Bakım için birkaç saatliğine yapılan bir yönlendirme 301 ile verilirse ziyaretçilerin tarayıcısında kalıcı kayıt oluşur. Bakım bitse de o kullanıcılar aylarca yanlış adrese gitmeye devam eder.

  • Kalıcı taşımayı 302 ile yazmak

    Arama motoru eski adresi asıl kabul etmeye devam eder ve yeni adres sonuçlarda yerleşemez. Taşıma teknik olarak çalışır ama görünürlük eski adreste sıkışıp kalır.

  • Zinciri uzatmak

    A → B → C → D biçiminde her adım ek bir istek ve ek gecikme demektir. Zincirin ortasındaki halkalar kaldırılıp doğrudan A → D kurulmalıdır.

  • Döngü kurmak

    A, B'ye; B de A'ya yönlendirdiğinde tarayıcı belirli sayıda denemeden sonra durur ve "çok fazla yönlendirme" hatası verir. Bu hata neredeyse her zaman iki ayrı kuralın birbirini iptal etmesinden doğar.

  • Her adresi ana sayfaya toplamak

    Kaldırılan bir iç sayfayı ana sayfaya yönlendirmek kullanıcıyı aradığı içerikten uzaklaştırır. Karşılığı yoksa doğru cevap yönlendirme değil, dürüst bir 404'tür.

Sık Sorulan Sorular

301 kalıcı, 302 geçicidir. 301'de tarayıcı kaydı diske yazar ve sonraki ziyaretlerde sunucuya hiç sormadan doğrudan yeni adrese gider; 302'de böyle bir kayıt tutulmaz ve eski adres her seferinde yeniden sorulur. Arama motorları da 301'de sinyalleri yeni adrese aktarır, 302'de eski adresi asıl kabul etmeye devam eder.