Как обстоят дела с кодом статуса HTTP 308?
Проект RFC IETF Код состояния 308 протокола передачи гипертекста (HTTP) (постоянное перенаправление) определяет статус 308 HTTP как постоянное перенаправление. Следует, конечно, отметить, что это проект документа и в заголовке документа содержится текст "Срок действия: 27 сентября 2012 г.", который, как я предполагаю, будет означать, что его следует считать недействительным, но я не знаком с Процессы IETF и поэтому не чувствуют себя уверенно по этому поводу.
Статья Википедии Список кодов состояния HTTP использует это определение 308, а также:
308 постоянный редирект (утвержден в качестве экспериментального RFC)[12]
Запрос и все последующие запросы должны повторяться с использованием другого URI. 307 и 308 (как предложено) соответствуют поведению 302 и 301, но не позволяют методу HTTP измениться. Так, например, отправка формы на перенаправленный ресурс может продолжаться без проблем.
...
[12]: "Код состояния 308 протокола перенаправления гипертекста (HTTP) (постоянное перенаправление)". IETF. 2012. Получено 27 марта 2012 г.
Эрик Лоу из Microsoft в то время комментирует этот код HTTP/308 в статье "Продвижение в Интернете с помощью HTTP/308". Это заставило меня обнаружить, что Firefox поддерживает 308 в этом смысле.
Однако, когда я искал в библиотеке запросов python, я обнаружил, что есть еще одно использование 308:
308: ('resume_incomplete', 'resume'),
Похоже, это связано с предложением возобновляемых HTTP-запросов Google Gears, определяющим 308 Resume Incomplete
, Кажется, есть некоторое использование этого. Конечно, ни одно из этих предложений не признает существование другого.
Так, что происходит? Является 308 Permanent Redirect
в живых? Что происходит с кодом статуса 308? Что я должен делать?
2 ответа
Срок действия интернет-проекта не истек (поскольку он был утвержден до истечения срока его действия). См. https://datatracker.ietf.org/doc/draft-reschke-http-status-308/ и http://www.rfc-editor.org/queue2.html для текущий статус публикации.
Пожалуйста, ознакомьтесь с комментарием Криса Моргана ниже по этому вопросу (мой первоначальный ответ ссылался на http://insanecoding.blogspot.co.il/2014/02/http-308-incompetence-expected.html?m=1 но ссылка Криса очень лучше).
Просто чтобы понять, как далеко 308 еще не зашёл, посмотрите HTTP-коды, определенные в Microsoft.NET Framework V4 ( http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode%28v=vs.110%29.aspx) перечисление HttpStatusCode). В частности, нет упоминания о коде 308.