2013-01-03 26 views
17

projekt IETF RFC The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect) definiuje stanu HTTP 308 jako Stałe przekierowanie. Należy oczywiście zauważyć, że jest to projekt dokumentu i zawiera w nagłówku dokumentu tekst "Wygasa: 27 września 2012 r.", Który, jak sądzę, oznaczałby, że powinien on teraz zostać uznany za nieważny, ale nie jestem zaznajomiony z Procesy IETF i dlatego nie czują się pewnie.Co to jest za kod stanu HTTP 308?

Wyrób Wikipedia List of HTTP status codes używa tej definicji 308 również:

308 stałego przekierowania (zatwierdzony jako eksperymentalną RFC) [12]

wniosku oraz wszystkich przyszłych żądania należy powtórzyć za pomocą innego identyfikatora URI. 307 i 308 (jak proponowane) równolegle zachowań 302 i 301, ale nie pozwalają metoda HTTP zmienić. Na przykład przesłanie formularza do trwale przekierowanego zasobu może przebiegać płynnie.

...

[12]: "The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)". IETF. 2012. Źródło: 27 marca 2012.

Eric Law, Microsoft w tym czasie, komentuje ten kod HTTP/308 w Pushing the Web Forward with HTTP/308. To spowodowało, że odkryłem, że Firefox obsługuje 308 w tym znaczeniu.

Jednak kiedy szukałem w bibliotece , stwierdziliśmy, że nie ma innego wykorzystania 308:

308: ('resume_incomplete', 'resume'), 

To wydaje się pochodzić z Google Gears resumable HTTP requests proposal, definiowanie 308 Resume Incomplete. Wydaje się, że jest jakiś sposób użycia tego. Oczywiście żadna z tych propozycji nie potwierdza istnienia drugiej.

Więc co się dzieje? Czy żywa jest 308 Permanent Redirect? Co się dzieje z kodem statusu 308? Co powinienem zrobić?

+0

Pytasz, z punktu widzenia serwera, czy powinien * problem * a 308 (a jeśli tak, to w jakich okolicznościach), czy z punktu widzenia konsumenta, jak należy reagować * * do a 308? –

+0

@Damien_The_Unbeliever: pytanie głównie zastanawia się, co się z nim dzieje, czy to ma sens, * czy * mogę to rozsądnie wykorzystać. W moim konkretnym przypadku mam do czynienia z perspektywą klienta, chcąc w przyszłości przygotować i poprawnie wdrożyć tę i pokrewną sprawę, ale szukam również bardziej ogólnych informacji, aby spróbować go trochę zebrać - nie ma za wiele to w Internecie. –

Odpowiedz

4

W projekcie Internet nie upłynął (jak to zostało zatwierdzone, zanim wygasł). Zobacz https://datatracker.ietf.org/doc/draft-reschke-http-status-308/ i http://www.rfc-editor.org/queue2.html#draft-reschke-http-status-308 dla bieżącego stanu publikacji.

+0

Czyli oznacza to, że został zatwierdzony, ale kręci się w oczekiwaniu na redaktorów, aby do niego doszło? Co to znaczy około 308 w międzyczasie? Używanie go jako stałego przekierowania byłoby "nieważne"? W takim razie, co dokładnie oznacza zatwierdzenie jako * eksperymentalny * RFC? –

+2

Jest zatwierdzony i jest zarejestrowanym kodem statusu. Chodzi tylko o to, że dokument RFC nie zostanie opublikowany, dopóki inne dokumenty, do których się odwołuje, nie zostaną opublikowane. –

1

proszę zobaczyć poniżej Chris Morgan komentarz w tej kwestii (mój oryginalny odpowiedź, o którym mowa http://insanecoding.blogspot.co.il/2014/02/http-308-incompetence-expected.html?m=1 ale odniesienie Chris' jest znacznie lepiej).

Aby dowiedzieć się, jak daleko jeszcze nie było 308, zobacz kody HTTP zdefiniowane w Microsoft .NET framework V4 (http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode(v=vs.110).aspx) wyliczenia HttpStatusCode). W szczególności, nie ma wzmianki o kodzie 308.

+2

https://news.ycombinator.com/item?id=7249193 ma dobre komentarze do artykułu - artykuł jest dobrze przemyślany, ale sam nie rozumie pełnej sytuacji. –

+1

307 jest teraz w artykule msdn, z którym się łączyłeś, ale nadal nie jest 308 –