Bir zamanlar okuduğum bazı makaleler bunun (bir URI'den diğerine) atlama anlamına geldiğini söyledi, ancak aslında hiç atlama olmadığında bile bu "302" yi tespit ettim!
Bir zamanlar okuduğum bazı makaleler bunun (bir URI'den diğerine) atlama anlamına geldiğini söyledi, ancak aslında hiç atlama olmadığında bile bu "302" yi tespit ettim!
Yanıtlar:
302 yönlendirmesi, sayfanın geçici olarak taşındığı anlamına gelirken, 301 kalıcı olarak taşındığı anlamına gelir.
301'ler SEO değeri için iyidir, 302'ler ise müşterilere orijinal URL'nin değerini unutmaları talimatını verdiği için değil, 302 orijinalin değerini korur ve bu nedenle, mantıksal olarak farklı iki URL oluşturarak değeri potansiyel olarak düşürebilir. her biri aynı içeriği üretir (arama motorları bunları iki isimli tek bir kaynak yerine farklı kopyalar olarak görür).
Bu soru uzun zaman önce, RFC 2616 hala takılırken sorulmuştu. Bu soruya verilen bazı cevaplar, günümüzde artık geçerli olmayan böyle bir belgeye dayanmaktadır. Yazma sırasında IETF HTTP ve QUIC Çalışma Gruplarına eş başkanlık eden Mark Nottingham'dan alıntı yaparak :
RFC2616'yı kullanmayın . Sabit sürücülerinizden, yer imlerinizden silin ve yazdırılan kopyaları yazın (veya sorumlu bir şekilde geri dönüştürün).
Eski RFC 2616, birlikte HTTP / 1.1 protokolünü tanımlayan aşağıdaki belgelerle değiştirilmiştir:
Bu nedenle , HTTP / 1.1 durum kodları için mevcut referans olan RFC 7231'e dayalı bir cevap sağlamayı hedefliyorum .
302
durum koduİle yanıt, 302
URL yeniden yönlendirmesini gerçekleştirmenin yaygın bir yoludur. İle birlikte 302
durum kodu, yanıt bir içermelidir Location
farklı bir URI ile başlığını. Bu tür bir başlık kullanıcı aracısı tarafından ayrıştırılacak ve ardından yeniden yönlendirmeyi gerçekleştirecektir:
Web tarayıcıları değişebilir POST
için GET
sonraki isteği. Bu davranış istenmiyorsa, 307
bunun yerine (Geçici Yeniden Yönlendirme) durum kodu kullanılabilir.
Bu nasıl 302
durum kodu tanımlanır 7231 RFC :
302
(Bulunan) durum kodu hedef kaynağın farklı bir URI altında geçici olarak ikamet gösterir. Yeniden yönlendirme zaman zaman değiştirilebileceğinden, istemcinin gelecekteki istekler için etkin istek URI'sini kullanmaya devam etmesi gerekir.Sunucu
Location
, farklı URI için bir URI başvurusu içeren yanıtta bir başlık alanı oluşturmalıdır . Kullanıcı aracısıLocation
, otomatik yeniden yönlendirme için alan değerini kullanabilir SEÇİMLİK . Sunucunun yanıt yükü genellikle, farklı URI'lara köprü içeren kısa bir köprü notu içerir.Not: Tarihsel nedenlerden dolayı, bir kullanıcı arayüzü gelen istek yöntem değişebilir
POST
içinGET
sonraki isteği. Bu davranış istenmiyorsa,307
bunun yerine (Geçici Yeniden Yönlendirme) durum kodu kullanılabilir.
Mozilla'dan MDN web belgelerine göre , tipik bir kullanım durumu 302
şudur:
Web sayfası, öngörülemeyen nedenlerle geçici olarak kullanılamamaktadır. Bu şekilde, arama motorları bağlantılarını güncellemez.
RFC 7231 tanımlar yönlendirme için aşağıdaki durum kodları:
RFC 7238 yönlendirme için başka durum kodu tanımlamak için oluşturuldu:
308
(Kalıcı Yönlendirme)Daha fazla ayrıntı için bu yanıta bakın .
Location
başlık bana yardımcı olan şeydi). Görünüşe göre bir servisi arıyordum http
ve onlar taşındılar https
, yanıt olarak aldığım tek şey 302
, Location
burada başlığı okur okur okumaz http/https
farkı gördüm . Teşekkür ederim!
HTTP 301 ve 302 yönlendirmelerine bakmanın basit bir yolu şudur:
" Http://sample.com/sample " için bir yer işaretiniz olduğunu varsayalım . Oraya gitmek için bir tarayıcı kullanıyorsunuz.
Bu noktada farklı bir URL'ye 302 yönlendirmesi, yer işaretinizi " http://sample.com/sample " de tutmanız gerektiği anlamına gelir . Bunun nedeni, hedef URL'nin gelecekte değişebilmesidir.
Farklı bir URL'ye 301 yönlendirmesi, kalıcı bir yönlendirme olduğu için yer işaretinizin yeni URL'yi gösterecek şekilde değişmesi gerektiği anlamına gelir.
Gönderen RFC 2616 (Köprü Metni Aktarım Protokolü Şartname) :
10.3.3 302 Bulunan İstenen kaynak geçici olarak farklı bir URI altında bulunuyor. Yeniden yönlendirme zaman zaman değiştirilebileceğinden, istemcinin Gelecekteki istekler için İstek URI'sini kullanmaya devam edin. Bu cevap yalnızca Cache-Control veya Expires başlığı ile belirtilirse önbelleğe alınabilir alan. Geçici URI, aşağıdaki Konum alanı tarafından verilmelidir. tepki. İstek yöntemi HEAD olmadığı sürece, yanıtı, kısa bir bağlantı notu içermelidir. yeni URI (ler).
Kaynak:
Gönderen Vikipedi :
HTTP yanıt durum kodu 302 Bulundu, yeniden yönlendirme gerçekleştirmenin en yaygın yoludur. Standartla çelişen bir endüstriyel uygulama örneğidir.
Gereğince http durum kodu tanımları 302 (geçici) yönlendirme işaret eder. "İstenen kaynak geçici olarak farklı bir URI altında bulunuyor"
SEO açısından, 301 ve 302'nin ikisi de iyidir, duruma bağlıdır,
Yalnızca bir sürüm döndürülebiliyorsa (yani, diğeri ona yeniden yönlendiriliyorsa), bu harika! Bu davranış, yinelenen içeriği azalttığı için faydalıdır. Sondaki eğik çizgi URL'lerine yönlendirmelerin olduğu özel durumda, arama sonuçlarımız, yönlendirmenin 301 veya 302 olmasına bakılmaksızın, URL'nin sürümünü büyük olasılıkla 200 yanıt koduyla (çoğunlukla sondaki eğik çizgi URL'si) gösterecektir.
HTTP kodu 302 yeniden yönlendirme içindir, bkz. Http://en.wikipedia.org/wiki/HTTP_302 .
Bir sayfayı okuyan göz atan kişiye başka bir yere gitmesini ve başka bir sayfa yüklemesini söyler. Kullanımı çok yaygındır.
Göre RFC 1945 / Köprü Metni Aktarım Protokolü - HTTP / 1.0 :
302 Moved Temporarily
The requested resource resides temporarily under a different URL.
Since the redirection may be altered on occasion, the client should
continue to use the Request-URI for future requests.
The URL must be given by the Location field in the response. Unless
it was a HEAD request, the Entity-Body of the response should
contain a short note with a hyperlink to the new URI(s).
If the 302 status code is received in response to a request using
the POST method, the user agent must not automatically redirect the
request unless it can be confirmed by the user, since this might
change the conditions under which the request was issued.
Note: When automatically redirecting a POST request after
receiving a 302 status code, some existing user agents will
erroneously change it into a GET request.
ÖRNEK: - Kendimizi bir 302 yönlendirmesine ihtiyaç duyduğumuz pek yaygın olmasa da, bu seçenek bazı durumlarda çok yararlı olabilir. Bunlar en sık görülen vakalardır:
Yeniden yönlendirme 302, belirli bir URL'yi ziyaret edenlere sayfanın geçici olarak taşındığını söyleyerek onları doğrudan yeni konuma yönlendiren bir koddur.
Başka bir deyişle, Google robotları veya diğer arama motorları belirli bir sayfayı yüklemek istediğinde yönlendirme 302 etkinleştirilir. O anda, bu yönlendirme sayesinde, sunucu yeni bir URL'yi belirten otomatik bir yanıt döndürür.
Bu şekilde hem arama motorları hem de kullanıcılar için hatalar ve rahatsızlıklar önlenir ve sorunsuz gezinme garanti edilir.
Daha ayrıntılı bilgi için bu bakınız Madde .
Bir 302 durum kodu, istenen kaynağın geçici olarak farklı bir URI'ye taşındığını gösteren HTTP yanıt durum kodudur. Konum veya geçerli yeniden yönlendirme yönergesi gelecekte değişebileceğinden, 302 Bulundu yanıt kodunu alan bir istemci, gelecekteki istekler için orijinal URI'yi kullanmaya devam etmelidir.
Bu durum koduna sahip bir HTTP yanıtı, ek olarak Konum başlık alanında bir URL sağlayacaktır. Bu, kullanıcı aracısına (örneğin, bir web tarayıcısı) konum alanında belirtilen yeni URL'ye ikinci, aksi halde aynı olan bir talepte bulunma davetidir. Sonuç, yeni URL'ye bir yeniden yönlendirmedir.
Adlandırmayı merak eden herhangi biri için, muhtemelen "Bulundu" olarak adlandırıldığını ekleyeceğim çünkü kullanıcının almayı düşündüğü ana kaynak (örneğin, özel bir web sayfası) o anda mevcut değil (örneğin, kullanıcı henüz kimliğini kanıtlamamıştır), bunun yerine sunucu, kullanıcının alabileceği yeni bir kaynak bulmuştur (en yaygın kullanım durumunda bu bir oturum açma sayfasıdır).
Ayrıca saklambaç tarzında "kaybolup bulun", yani 302 statüsü altında kaybedilen bir kaynak yalnızca geçici olarak kaybedilir, sonsuza kadar kaybolmaması gerekir (bir oyuncunun bazı kötü niyetleri yoksa;)).