Перенаправление после сообщения или отправляет/перенаправляет/получает, что-то, что Ваше приложение должно сделать, чтобы быть удобным для пользователя.
Редактирование . Это выше и вне Спецификаций HTTP. Если мы просто возвращаем 201 после того, как POST, кнопка "Назад" браузера будет вести себя плохо.
Примечание, что запросы веб-сервисов (которые НЕ отвечают на браузер) следуют стандарту полностью и НЕ перенаправляют после сообщения.
Это работает как это.
браузер ОТПРАВЛЯЕТ данные.
Ваше приложение проверяет данные. Если это недопустимо, Вы отвечаете формой, таким образом, они могут зафиксировать его и POST.
Ваше приложение отвечает перенаправлением.
браузер получает перенаправление и делает ПОЛУЧАТЬ.
Ваше приложение видит ПОЛУЧАТЬ и отвечает.
Теперь - эй престо! - работы кнопки "Назад".
Как указано в спецификации ответ ДОЛЖЕН быть HTTP 201 с перенаправлением. Таким образом, это не обязательно для поставщика браузера для реализации корректного ответа...
необходимо попытаться измениться на 30x код, чтобы видеть, перенаправляется ли он правильно. Если так, это - проблема браузера, еще это может прибыть из Вашего кода (я ничего не знаю в ASP.NET, таким образом, я не могу "проверить" Ваш код)
Чтобы быть явными, браузеры (включая современные браузеры как Firefox 3 и IE8) "не понимают намек" и продолжают HTTP 201: Created
ответ с ПОЛУЧИТЬ запросом к URI предоставляется в заголовке Местоположения.
Если Вы хотите, чтобы браузеры перешли к URI, предоставленному в заголовке Местоположения, необходимо отправить HTTP 303: See Other
состояние вместо этого.
Мое решение состоит в том, чтобы ответить сообщением «201 Created», содержащим простую страницу со ссылкой на новый ресурс, и перенаправлением javascript с помощью location.replace ().
Это позволяет тот же код работает для запросов API и браузера, хорошо работает с кнопками «Назад» и «Обновить» и плавно ухудшается в старых браузерах.
Разве это не должно учитываться только тогда, когда что-то «Создано», и поэтому простого перенаправления к действию должно быть действительно достаточно?