Göreli Konum Üstbilgilerini Kullanmanın Sonuçları Nelerdir?


17

Spesifikasyona göre , bir yönlendirmede kullanılan Konum başlıkları bir sunucu adı gerektirir

HTTP/1.1 301 Moved Permanently
...
Location: http://example.com/foo/baz/bar

Ancak, 2012'de çoğu web tarayıcısı göreceli bir yolu tanıyacak ve orijinal sunucu adını kullanarak sizi yeni konuma yönlendirecektir.

HTTP/1.1 301 Moved Permanently
...
Location: /foo/baz/bar

Konum başlıklarında göreli URL'leri kullanmanın olumsuz / şaşırtıcı sonuçları var mı? Benim özel kaygım, Google / arama motorlarının bunu nasıl yorumlayacağı, ancak düşünmediğim başka bir şey varsa bunu duymak isterim.


Bu gereksinimi aldığınız tam biti söyleyebilir misiniz? Zor değil, sadece hemen görmüyorum ve bulmak için tüm bir RFC okumak gibi hissetmiyorum. Ayrıca, HTTP 1.0 spesifikasyonundan bahsediyorsunuz, ancak örneklerinizde HTTP 1.1 üstbilgileri kullanıyorsunuz . (İzin verilen içeriği değiştirebilir veya değiştirmeyebilir.)
Su '

10.11 bölümü. tools.ietf.org/html/rfc1945#page-44 1.1 spesifikasyonunda bunu "düzelten" hiçbir şey yok.
Alan Storm

Yanıtlar:


15

HTTP / 1.1 standardı olan RFC 2616'nın geçerli sürümüne göre, Locationüstbilginin değeri mutlak bir URI olmalıdır .

Ancak, HTTPbis Çalışma Grubu tarafından RFC 2616'nın yerini almak üzere hazırlanan taslak standartta , görünüşe göre aşağıdaki gibi göreli URI'lara izin vermek için değiştirildi :

"Konum üstbilgisinin [RFC 2616'da) tanımı, en azından Web tarayıcılarının Web'deki içerikle birlikte çalışabilmeleri için bunlarla nasıl başa çıkmaları gerektiğinden farklı şekillerde farklılık gösterir"

Uygulamada, AFAIK hemen hemen tüm büyük tarayıcılar ve arama motorları göreli URL'lere HTTP yönlendirmelerini anlıyor ve kabul ediyor. Bununla birlikte, bir gün HTTPbis taslağı resmi standart haline gelene ve yaygın olarak benimsenene kadar, her zaman mevcut standardı mektuba uygulayan ve yalnızca mutlak URL'leri kabul eden bazı yeni veya belirsiz kullanıcı aracıları olacaktır. Bu nedenle, şimdilik yapılacak güvenli şey, Postel'in yasasınınLocation önerdiği gibi başlıklarda yalnızca mutlak URL'leri kullanmaktır :

"Gönderdiğiniz şeylerde muhafazakar olun, kabul ettiğiniz şeyde liberal olun."


3
RFC 2616 artık Konum başlıklarında göreli URL'lere izin veren 7231 tarafından kullanılmamıştır. Standardı mektuba uygulayan kullanıcı aracıları şimdi göreli URL'leri kabul edecek
ZoFreX

6

HTTP 1.1 RFC'nin 14.30 bölümü http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 önemli ölçüde farklı değildir. Bunun için gerçek pratik sınırlamalar göreceğinizi bilmiyorum.

Lynx'te test etmek için kullandığım ve konumun mutlak olmadığı zaman bu konuyla ilgili bir uyarı gördüğüm tek zaman sizi "Konum değeri mutlak değil" - uyaracaktır, ancak doğru hatırlıyorsam hala gitmenize izin verir yeni konuma. Lynx 2.8.7'yi yeni test ettim ve artık bir yapılandırma sorunu olabileceği halde bunu yapmıyor gibi görünüyor.

Şimdi diyorsun ki:

Benim özel kaygım, Google / arama motorlarının bunu nasıl yorumlayacağı, ancak düşünmediğim başka bir şey varsa bunu duymak isterim.

Bunun bir test gerektirdiğine inanıyorum. Bir URL kurar, sitenizin xml site haritasına koyarım ve açıkladığınız gibi bu URL'nin bir yönlendirme olmasını isterdim . Sanırım yapılacak şey Google Web Yöneticisi Araçları'nı kullanarak kontrol etmek ve olumsuz sonuçların olup olmadığını görmek.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.