Как веб-контроллер Spring определяет код состояния HTTP для перенаправления - PullRequest
0 голосов
/ 03 октября 2019

У меня есть приложение Spring MVC, у которого есть конечная точка, которая приводит к перенаправлению - см. Код ниже.

Я заметил, что код состояния HTTP, который Spring возвращает для этого перенаправления, - 307. Мой вопрос заключается в том, почему Spring решает вернуть 307, а не 301 или 302.

. Это просто тот факт, что методы GET и POST разрешены для этогоконечная точка и 307 - наименее допустимый ответ с точки зрения того, что может сделать клиент, поэтому Spring реализует это по умолчанию?

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;


@RequestMapping(value = "/login", method = {RequestMethod.GET, RequestMethod.POST})
public String loginAttemptWithoutCookie() {
    return "redirect:" + "/some/other/url;
}

1 Ответ

0 голосов
/ 03 октября 2019

Все современные браузеры автоматически обнаружат 302

302

Фактически все коды статуса ответа HTTP, которые находятся в категории 3xx,Учитывая сообщение о перенаправлении, все современные браузеры автоматически обнаружат 302 найденный код ответа и автоматически обработают действие временного перенаправления

307

фактически 307 Внутреннее перенаправление от администраторабоковой клиент нажимает на элементы корзины, затем браузер отправляет POST в /cart-items.html, а затем говорит ему перенаправить POST в /purchase-selected-items.php

Это означает, что Spring пытаетсяперенаправить пользовательское представление (представление, уже созданное администратором) без перенаправления по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...