Выбор ответа Senior Коды ответа обновлено

301 против 308

Вопрос

Старый адрес POST /api/v1/pay перенесли навсегда. Какой код редиректа гарантирует, что клиент повторит именно POST с тем же телом на новый адрес?

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

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

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

Коротко

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

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

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

Разбор

307 и 308 запрещают клиенту менять метод и тело. При 301 и 302 клиенты исторически превращают POST в GET, и тело теряется: для платёжного запроса это тихая поломка. 303 прямо говорит «иди GET-ом на другой адрес», его используют после POST формы. Постоянный перенос с сохранением метода это 308, временный 307.

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

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