Должен ли я использовать смесь POST и GET для этой последовательности форм? - PullRequest
1 голос
/ 23 августа 2010

У меня есть последовательность форм, которая следует следующему алгоритму:

Форма № 1

  1. Запрос на ввод значения A.
  2. Отправить X * запрос со значением A.

Форма № 2

  1. Показать значение A и запросить ввод значения B.
  2. Отправить запрос POST со значениями A и B.

* Должен ли X на шаге 2 быть GET или POST? Я только собирался сделать это POST, но колебался и задавался вопросом, должен ли я использовать GET, так как форма # 1 просто передает значение (я) в форму # 2, а не помещает его в базу данных.

Спасибо!

1 Ответ

2 голосов
/ 23 августа 2010

Создайте POST, поскольку его цель - спровоцировать побочный эффект на стороне сервера (в частности, изменить состояние многостраничной формы).

В RFC 2616 говорится в разделе 9.1.1 :

В частности, было установлено, что методы GET и HEAD НЕ ДОЛЖНЫ иметь значение действия, отличного от извлечения.Эти методы следует считать «безопасными».Это позволяет пользовательским агентам представлять другие методы, такие как POST, PUT и DELETE, особым образом, чтобы пользователь знал о том, что запрашивается небезопасное действие.

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

...