Выбор ответа Middle HTTP: методы, статусы, заголовки обновлено

Редирект с сохранением метода POST

Вопрос

API переехал на новый адрес навсегда. Клиенты шлют туда POST с телом. Какой статус редиректа гарантирует, что браузер повторит именно POST с тем же телом?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 308 Permanent Redirect. 308 (постоянный) и 307 (временный) запрещают менять метод и тело.

Варианты ответа

  1. 301 Moved Permanently
  2. 308 Permanent Redirectправильный ответ
  3. 302 Found
  4. 303 See Other

Разбор

308 (постоянный) и 307 (временный) запрещают менять метод и тело. С 301 и 302 браузеры исторически превращают POST в GET, поэтому тело потеряется. 303 вообще предписывает сделать GET: его используют после отправки формы, чтобы перейти на страницу результата.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.