W pewnym artykule, który przeczytałem, powiedziano kiedyś, że oznacza to przeskakiwanie (z jednego URI do drugiego), ale wykryłem to „302” nawet wtedy, gdy w rzeczywistości nie było żadnych skoków!
http
redirect
http-headers
http-status-code-302
o mój Boże
źródło
źródło
Odpowiedzi:
Przekierowanie 302 oznacza, że strona została tymczasowo przeniesiona, a 301 oznacza, że została przeniesiona na stałe.
301 są dobre dla wartości SEO, podczas gdy 302 nie są, ponieważ 301 instruują klientów, aby zapomnieli o wartości oryginalnego adresu URL, podczas gdy 302 zachowuje wartość oryginału i może w ten sposób potencjalnie zmniejszyć wartość, tworząc dwa logicznie różne adresy URL, które każdy z nich tworzy tę samą treść (wyszukiwarki widzą je jako odrębne duplikaty, a nie jako pojedynczy zasób o dwóch nazwach).
źródło
To pytanie zostało zadane dawno temu, gdy RFC 2616 wciąż się kręcił. Część odpowiedzi na to pytanie opiera się na takim dokumencie, który obecnie nie jest już aktualny. Cytując Marka Nottinghama, który w czasie pisania tego tekstu współprzewodniczył grupom roboczym IETF HTTP i QUIC:
Stary RFC 2616 został wyparty przez następujące dokumenty, które razem definiują protokół HTTP / 1.1:
Dlatego staram się udzielić odpowiedzi w oparciu o RFC 7231, który jest aktualnym odniesieniem dla kodów statusu HTTP / 1.1.
302
Kod statusuOdpowiedź z
302
to typowy sposób przekierowania adresu URL. Wraz z302
kodem stanu odpowiedź powinna zawieraćLocation
nagłówek z innym identyfikatorem URI. Taki nagłówek zostanie przeanalizowany przez klienta użytkownika, a następnie wykona przekierowanie:Przeglądarki internetowe mogą zmienić się z
POST
naGET
w kolejnym żądaniu. Jeśli to zachowanie jest niepożądane,307
można zamiast tego użyć kodu stanu (Przekierowanie tymczasowe).Oto
302
definicja kodu statusu w dokumencie RFC 7231 :Zgodnie z dokumentacją internetową MDN z Mozilli , typowy przypadek użycia
302
to:Inne kody stanu do przekierowania
W RFC 7231 definiuje następujące kody do przekierowania:
301
(Przeniesione na stałe)302
(Znaleziony)307
(Tymczasowe przekierowanie)Dokument RFC 7238 został utworzony w celu zdefiniowania innego kodu stanu dla przekierowania:
308
(Stałe przekierowanie)Więcej informacji można znaleźć w tej odpowiedzi .
źródło
Location
nagłówek był tym, co mi pomogło). Okazuje się, że dzwoniłem do serwisu,http
a oni się przenieślihttps
, jedyne, co otrzymałem w odpowiedzi302
, to jak tylko przeczytałemLocation
tutaj nagłówek, zobaczyłemhttp/https
różnicę. Dziękuję Ci!Prosty sposób spojrzenia na przekierowania HTTP 301 i 302 to:
Załóżmy, że masz zakładkę „ http://sample.com/sample ”. Aby tam przejść, używasz przeglądarki.
Przekierowanie 302 do innego adresu URL w tym momencie oznaczałoby, że powinieneś zachować zakładkę na „ http://sample.com/sample ”. Dzieje się tak, ponieważ docelowy adres URL może się zmienić w przyszłości.
Przekierowanie 301 na inny adres URL oznaczałoby, że zakładka powinna się zmienić i wskazywać na nowy adres URL, ponieważ jest to stałe przekierowanie.
źródło
Z RFC 2616 (specyfikacja protokołu transmisji hipertekstu) :
Źródło:
http://www.ietf.org/rfc/rfc2616.txt
źródło
Z Wikipedii :
źródło
Zgodnie z definicjami kodu statusu http, a 302 wskazuje (tymczasowe) przekierowanie. „Żądany zasób znajduje się tymczasowo pod innym identyfikatorem URI”
źródło
302 to odpowiedź wskazująca na zmianę lokalizacji zasobu - „Znaleziono”.
Adres URL, pod którym powinien się teraz znajdować zasób, powinien znajdować się w nagłówku odpowiedzi „Lokalizacja”.
„Skok” powinien zostać wykonany przez żądającego klienta (zrób nowe żądanie na adres URL zasobu w polu nagłówka lokalizacji odpowiedzi).
źródło
Pod względem SEO 301 i 302 są dobre, zależy to od sytuacji,
Jeśli można zwrócić tylko jedną wersję (tj. Druga przekierowuje do niej), to świetnie! To zachowanie jest korzystne, ponieważ zmniejsza liczbę powielonych treści. W szczególnym przypadku przekierowań do końcowych adresów URL z ukośnikiem nasze wyniki wyszukiwania prawdopodobnie pokażą wersję adresu URL z kodem odpowiedzi 200 (najczęściej końcowym adresem URL z ukośnikiem) - niezależnie od tego, czy przekierowanie było 301 czy 302.
źródło
Kod HTTP 302 służy do przekierowania, patrz http://en.wikipedia.org/wiki/HTTP_302 .
Mówi przeglądającemu czytającemu stronę, aby udał się gdzie indziej i załadował inną stronę. Jego użycie jest bardzo powszechne.
źródło
Zgodnie z RFC 1945 / Hypertext Transfer Protocol - HTTP / 1.0 :
źródło
PRZYKŁAD: - Chociaż rzadko zdarza się, że potrzebujemy przekierowania 302, ta opcja może być bardzo przydatna w niektórych przypadkach. Oto najczęstsze przypadki:
Przekierowanie 302 to kod, który informuje odwiedzających o określonym adresie URL, że strona została tymczasowo przeniesiona, kierując ich bezpośrednio do nowej lokalizacji.
Innymi słowy, przekierowanie 302 jest aktywowane, gdy roboty Google lub inne wyszukiwarki żądają załadowania określonej strony. W tym momencie dzięki temu przekierowaniu serwer zwraca automatyczną odpowiedź wskazującą nowy adres URL.
W ten sposób unika się błędów i uciążliwości zarówno dla wyszukiwarek, jak i użytkowników, gwarantując płynną nawigację.
Więcej informacji można znaleźć w tym artykule .
źródło
Kod stanu 302 to kod stanu odpowiedzi HTTP wskazujący, że żądany zasób został tymczasowo przeniesiony do innego identyfikatora URI. Ponieważ dyrektywa dotycząca lokalizacji lub bieżącego przekierowania może zostać zmieniona w przyszłości, klient, który otrzyma kod odpowiedzi 302 Found, powinien nadal używać oryginalnego identyfikatora URI dla przyszłych żądań.
Odpowiedź HTTP z tym kodem stanu będzie dodatkowo zawierać adres URL w polu nagłówka Lokalizacja. Jest to zaproszenie do klienta użytkownika (np. Przeglądarki internetowej) do wykonania drugiego, poza tym identycznego, żądania do nowego adresu URL określonego w polu lokalizacji. Efektem końcowym jest przekierowanie do nowego adresu URL.
źródło
Dla każdego, kto może być ciekawy nazewnictwa, dodam tylko, że prawdopodobnie nazywa się ono „Znaleziono”, ponieważ główny zasób (np. Prywatna strona internetowa), który użytkownik zamierza otrzymać, nie jest w tym momencie dostępny (np. użytkownik nie udowodnił jeszcze swojej tożsamości), więc zamiast tego serwer znalazł nowy zasób, który użytkownik może otrzymać (jest to strona logowania w najczęściej stosowanym przypadku).
Jest to również „gubienie się i znajdowanie” w chowanego, co oznacza, że utracony zasób poniżej statusu 302 jest tracony tylko tymczasowo , nie powinien być stracony na zawsze (chyba że gracz ma złe intencje;)).
źródło