Zgodnie ze specyfikacją nagłówki lokalizacji używane w przekierowaniu wymagają nazwy serwera
HTTP/1.1 301 Moved Permanently
...
Location: http://example.com/foo/baz/bar
Jednak w 2012 r. Większość przeglądarek internetowych rozpozna ścieżkę względną i przekieruje do nowej lokalizacji przy użyciu oryginalnej nazwy serwera
HTTP/1.1 301 Moved Permanently
...
Location: /foo/baz/bar
Czy są jakieś negatywne / zaskakujące konsekwencje korzystania z względnych adresów URL w nagłówkach lokalizacji? Moją szczególną troską jest to, jak Google / wyszukiwarki to zinterpretują, ale jeśli jest coś jeszcze, nie myślę o tym, chciałbym to usłyszeć.
seo
redirects
301-redirect
http
http-headers
Alan Storm
źródło
źródło
Odpowiedzi:
Zgodnie z bieżącą wersją standardu HTTP / 1.1, RFC 2616, wartością
Location
nagłówka musi być bezwzględny identyfikator URI .Jednak w projekcie standardu przygotowanym przez grupę roboczą HTTPbis, aby ostatecznie zastąpić RFC 2616, zmieniono to, aby umożliwić również względne identyfikatory URI, najwyraźniej dlatego , że :
W praktyce AFAIK prawie wszystkie główne przeglądarki i wyszukiwarki rozumieją i akceptują przekierowania HTTP na względne adresy URL. Jednak dopóki projekt HTTPbis pewnego dnia nie stanie się oficjalnym standardem i nie zostanie powszechnie przyjęty, zawsze będą pojawiać się nowe lub niejasne programy klienckie, które implementują obecny standard do listu i akceptują tylko bezwzględne adresy URL. Dlatego bezpiecznym rozwiązaniem jest na razie używanie bezwzględnych adresów URL w
Location
nagłówkach, zgodnie z prawem Postela :źródło
Sekcja 14.30 HTTP 1.1 RFC http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 nie różni się znacząco. Nie wiem, czy zobaczysz jakieś praktyczne ograniczenia.
Tylko raz zobaczyłem ostrzeżenie o tym problemie, kiedy testowałem w Lynxie, a lokalizacja nie była bezwzględna, ostrzegłoby cię: „Wartość lokalizacji nie jest bezwzględna” - ale jeśli dobrze pamiętam, nadal pozwoli ci odejść do nowej lokalizacji. Właśnie przetestowałem Lynx 2.8.7 i wygląda na to, że już tego nie robi, choć może to być problem z konfiguracją.
Teraz mówisz:
Uważam, że uzasadnia to test. Ustawiłbym adres URL, umieściłem go w mapie witryny xml Twojej witryny i chciałbym , aby ten adres URL był przekierowaniem, jak opisano. Myślę, że należy to sprawdzić za pomocą Narzędzi Google dla webmasterów i sprawdzić, czy występują negatywne konsekwencje.
źródło