Назад | Перейти на главную страницу

Безопасно ли использовать HTTP-статус 308 Permanent Redirect?

Безопасно ли использовать код состояния HTTP 308 постоянное перенаправление (предложение) в ответах сервера? Проблема с 301 Moved Permanently заключается в том, что он работает только с запросами GET (честно говоря: POST преобразуется в GET, что НЕ является вариантом).

Код состояния очень новый для "времени RFC", что бы вы посоветовали?

Что бы сделал браузер, если бы он не знал 308? Сможет ли он найти место и сделать 302?

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

Предложение RFC 7538 сегодня пользуется широкой поддержкой. Это безопасно.

308 вместо 301. 307 вместо 302.

move! = перенаправить

Перемещение напоминает конкретный адрес и / или перемещенный файл. Перенаправление - это новое место или адрес.

Хотя 308 сейчас является стандартом (https://tools.ietf.org/html/rfc7538), в настоящее время это небезопасно [Edit] (по состоянию на 3 апреля 2019 г.), особенно для настольных приложений, но может быть почти безопасным в некоторых регионах (например, в Индии) или для приложений, предназначенных для планшетов и мобильных устройств.

Недостаток безопасности связан с тем, что IE 11 в Windows 7 и 8.1 не поддерживает его. В IE 11 сайт просто зависает. К счастью, IE, поставляемый с Windows 10, поддерживает его, так что это будет всего лишь случай подождать, пока массовое население перейдет от Windows 7 (Win 7 только что превзошла Win 10 в глобальной статистике использования, Win 8 значительно менее популярны, чем оба) [Edit], или ваша компания принимает решение больше не поддерживать его (что вы можете сделать очень веским аргументом с 14 января 2020 г., когда Windows 7 теряет даже долгосрочную поддержку).

Все остальные современные браузеры поддерживают его (Chrome, Firefox, Safari, Edge, Opera).

[Edit] Статистика использования за март 2019 года, которая поможет вам принять решение:

  • 36,52% пользователей настольных компьютеров по-прежнему используют Windows 7
  • 9,83% пользователей настольных компьютеров использовали IE; поскольку Win10 так сильно подтолкнул Edge, я бы предположил, что большинство этих пользователей используют Win 7. Ref netmarketshare

Итак, решение использовать 308, вероятно, повлияет (моя предполагаемая оценка на основе приведенной выше статистики) от 5 до 9% пользователей настольных компьютеров на момент этого редактирования (3/4/2019). Если ваше приложение больше ориентировано на планшеты / мобильные устройства, это значение будет значительно ниже. Точно так же, если ваше приложение предназначено специально для индийского рынка.

Вы можете проверить, поддерживает ли ваш браузер 308 редиректов, здесь: https://webdbg.com/test/308/

Чтобы покончить с этим: Нет, использовать этот код состояния небезопасно. См. Комментарии для деталей.

308 не является стандартом - это предложение, которое все еще находится на экспериментальной стадии. Браузеры должны вернуться к интерпретации 300 любой ошибки 301–399, которую они конкретно не понимают.

Некоторые браузеры просто полностью не справляются с этим кодом состояния.