Каковы недостатки конвейерной обработки запросов PUT и / или POST? - PullRequest
9 голосов
/ 06 сентября 2011

Я слышал, что запросы PUT и POST не должны передаваться по конвейеру. Почему?

Ответы [ 2 ]

6 голосов
/ 06 сентября 2011

То, к чему это сводится, Идемпотентность

Неидемпотентные запросы не должны передаваться по конвейеру, поскольку эффекты N > 1 запросов могут привести к отличному результату, чем один запрос. Это означает, что запросы POST не должны передаваться по конвейеру, но любой неидемпотентный метод (практически любой запрос, кроме метода POST) может быть безопасно.

См:

4 голосов
/ 06 сентября 2011

Я не думаю, что конвейерная обработка запросов PUT представляет собой большую проблему, но вы не должны передавать запросы POST.POST-запросы могут изменить состояние объектов на сервере.Если запрос POST отправляется до получения ответа на предыдущий запрос POST, результаты могут быть неопределенными.Это особенно верно, если соединение прерывается во время сеанса.

...