Необходимость редиректа после POST

_RVK_

Новичок
Необходимость редиректа после POST

В RFC английским по белому сказанно:
If a resource has been created on the origin server, the response SHOULD be 201 (Created) and contain an entity
which describes the status of the request and refers to the new resource, and a Location header (see section
14.30).

Если я все правильно понимаю, это требование обязует сервер возвращать Location на созданный ресурс.

Для меня, необходимость редиректа очевидна уж давно, и вопросов никогда не вызывала, но оказываются встречаются люди, которые на самом деле считают редирект лишиним.

Мало того. Очень часто встречаются формы, даже на крупных сайтах (в том числе и php.net) где редиректа после отправки не происходит. Халявят?

Может это я все время заблуждался, и редирект действительно не нужен/нужен не всегда. Давайте выясним сей момент.
 

_RVK_

Новичок
да, "должен" и "обязан" соответственно
большая разница?

-~{}~ 05.03.05 16:00:

не хочешь ли сказать что это требование рфц можно трактовать как "нельзя, но если очень хочется то можно"?
 

Tor

Новичок
не в таких выражениях, но ДА

в переводе и то и другое переводится как "должен"
но английский странный язык (по сравнению с русским) :)
поэтому
SHOULD - рекомендованое поведение
MUST - обязательное поведение
 

_RVK_

Новичок
Tor
Разве, пусть даже, рекомендации RFC недостаточно?

Хочу узнать о случае где эту рекомендацию следует несоблюдать? Пока нахожу один случай. Когда ЛЕНЬ! А это почти всегда :)
 

Tor

Новичок
если в RFC написано MUST - ты должен так делать
если там написано что-то другое - ты в праве поступать так, как тебе хочется
причины твоего хотения могут быть различны (лень, производственная необходимость и т.д.) и к теме относятся мало
 

Сергей123

Новичок
Небольшой комент...
"Там вверху" в RFC 2616 есть пункт 1.2 Requirements,
где, собственно, упомянуто, как должны трактоваться SHOULD и т.д.
 

Фанат

oncle terrible
Команда форума
Tor
Вообще-то, если учесть, что многие разработчики кладут на MUST с таким же успехом, как и на SHOULD, ценность твоего комментария представляется мне сомнительной.

Что-то мне сомнительно, что _RVK_ имел в виду буквоедское уточнение перевода.
 

_RVK_

Новичок
>Что-то мне сомнительно, что _RVK_ имел в виду буквоедское уточнение перевода

Вот именно.

Кстати то, о чем я и говорил. Тыкаешь в РФЦ, так все равно спорят. Причем спорят люди, далеко не ламеры. Потому и создал тему, может это я глубоко ошибаюсь.
 

Tor

Новичок
Бресь Сергей
ответил наиболее полно, так что и добавить нечего :)
 

svetasmirnova

маленький монстрик
Может быть, глупость. Но если "тот самый заголовок" не является нежелательным эффектом: зачем обязательно делать редирект? И второй очевидный случай: если сгенерированная страница не содержит заполненных форм.
 

SiMM

Новичок
Если данные валидны - редирект без сомненья. Однако если они не валидны... Тут уже была у Фаната тема на эту тему - думаю, ты её видел :)
У меня пока в случае невалидности данных преобладает лень :)
 

_RVK_

Новичок
То что сказанно в RFC 2119
3. SHOULD This word, or the adjective "RECOMMENDED", mean that there
may exist valid reasons in particular circumstances to ignore a
particular item, but the full implications must be understood and
carefully weighed before choosing a different course.

Разобравшить с переводами и трактовками, давайте наконец выясни какае такие "valid reasons in particular circumstances" могут быть.

-~{}~ 05.03.05 16:37:

>У меня пока в случае невалидности данных преобладает лень
А мне способ предложенный Фанатом понравился, и лень я поборол. Но разговор не об этом. При ошибке фрмы эта ситуация не подподает под ту цитату из РФЦ что я привел.
 

Frol

Новичок
смешать разные вещи в кучу и пытаться найти "золотую середину" -- дело интересное.
 

_RVK_

Новичок
Frol
Сори, если я что то смешал. Сформулирую вопрос точнее:

1. Есть ли ситации, когда после POST делать редирект необязательно/невозможно?
2. Какие это ситуации, и почему в этих ситeациях делать редирект необязательно?
 

Frol

Новичок
1. в любой ситуации делать редирект не обязательно.
2. любая, так как редирект ничего не меняет.
 

_RVK_

Новичок
Frol
А более аргументированно и комvентированно можно?
Зачем тогда многие программисты это делают. Зачем в RFC про него написанно?

-~{}~ 05.03.05 17:29:

1. в любой ситуации делать редирект не обязательно.
Необязательно с чъей точки зрения? Как мы выяснили RFC не обязывает нас делать редирект, но только в том случае если есть реальные причины, что бы его не делать. Те в большенстве случаев редирект нужен. Так или нет?
 

_RVK_

Новичок
Мнение Frol-a мы выслушали. Спасибо.
Но хотелось бы услышать больше конкретики.
 
Сверху