Зачем мне нужны команды put или DELETE Http?
после выхода в MVC 2, я начал проверять и играть с новыми функциями, но я не мог понять, что использование PUT
и DELETE
глаголы.
Я искал об этом и читал некоторые статьи, но я не мог получить его.
какова основная цель DELETE
и PUT
? Имеют ли они какие-либо преимущества перед использованием a GET
или POST
метод вместо этого (хотя я могу обрабатывать все запросы с GET и POST)?
5 ответов
GET: только функция должна послать информацию назад к клиенту. Это должно быть repeatable операции без побочных эффектов.
POST: он выполняет операции с побочными эффектами. Это не повторимый (если вы публикуете дважды, сервер действует дважды). После операции он должен перенаправить на другую страницу, чтобы показать результаты с помощью GET.
DELETE: своя единственная функция сделать разрушительную деятельность, не repeatable (после удаления объекта больше нечего удалять).
PUT: его функция заключается в изменении одного объекта и обновлении его значениями, отправленными в POST (like). Воспроизводимый.
Вы можете подделка DELETE и PUT with POST (поскольку некоторые веб-браузеры не распознают DELETE и PUT).
пожалуйста, используйте GET только для отображения информации,не для операций с побочными эффектами.
в RESTful-архитектуры, DELETE
предполагается использовать для запросов, которые будут удалять данные, и PUT
предполагается использовать для запросов, которые будете вставлять данные.
в основном он используется для лучшего различения действий / привилегий.
идемпотентные методы и веб-приложений
методы PUT и DELETE определены для быть идемпотентным, то есть множественным идентичные запросы должны иметь тот же эффект, что и один запрос. Методы GET, HEAD, OPTIONS и TRACE, предписываемый как сейф, должен также быть идемпотентным, поскольку HTTP является апатридом протокол. Напротив, метод POST не обязательно идемпотент, и поэтому отправка идентичного сообщения запрос несколько раз может далее повлиять на состояние или вызвать дальнейшую сторону последствия (например, финансовые сделки.) В некоторых случаях это может желательно, но в других случаях это может быть из-за несчастного случая, например, когда пользователь не понимает, что их действие приведет к отправке еще одна просьба, или они не получить адекватную обратную связь, что их первая просьба была удовлетворена. В то время как веб-браузеры могут показывать оповещения диалог поля для предупреждения пользователей в некоторых случаях где перезагрузка страницы может повторно подать Запрос POST, как правило, до веб-приложение для обработки обращений где запрос POST не должен быть подавал не один раз. Заметить что не является ли метод идемпотентным применяется протоколом или web сервер. Вполне возможно напишите веб-приложение, в котором (для пример) вставка базы данных или другое идемпотентными действие инициируется GET или другой запрос. Игнорируя это однако рекомендация может привести к нежелательные последствия если пользователь агент предполагает, что повторяется одно и то же запрос безопасен, когда это не так.
через wikipedia
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods
во-первых, вы должны проверить Блам очень хороший ответ к этому (dupe?) вопрос.
очевидно, что вы можете технически создание/обновление / удаление ресурсов без использования принципов REST, ut вам не хватает точки. Если вы все еще не понимаете концепции REST,Райан Tomayko это - это хорошее место для начала.
первоначальная цель состояла в редактировании веб-страниц с использованием этих глаголов (подробнее о системе RESTful). С тех пор они были осуждены WebDAV