Должны ли PUT и DELETE использоваться в формах?
Предполагая, что мое веб-приложение полностью поддерживает PUT и DELETE на стороне сервера, следует ли использовать их?
В основном, мой вопрос в том, сколько браузеров поддерживает это:
<form method="PUT">
или
<form method="DELETE">
Есть ли преимущества в использовании этих двух HTTP-методов, кроме REST-совместимых? (предполагая, что замена этих двух методов является широко используемым POST)
Ответы
Ответ 1
В ваш вопрос входят два тесно связанных, но разных стандарта, HTTP и HTML. Методы PUT и DELETE являются частью HTTP. В HTTP они очевидным образом используются в интерфейсах RESTful и других сервисах, которые основаны на HTTP, таких как Webdav.
HTML до версии 4 определяет использование POST и GET для форм. HTML5 в это время выглядит так, как будто он может поддерживать дальнейшие методы. [примечание, поддержка не включена в текущий проект w3]
Любая текущая поддержка браузера (я не знаю непосредственно о ней) будет очень ограниченной и только очень полезной в качестве эксперимента на краю кровотечения.
Ответ 2
GET, POST, PUT и DELETE (есть другие) являются частью стандарта HTTP, но в настоящее время вы ограничены GET и POST в форматах HTML.
Как упоминал Эндрю, вы можете использовать PUT и DELETE в запросах AJAX; однако это работает только в некоторых браузерах (см. http://api.jquery.com/jQuery.ajax/).
Ответ 3
Нет, GET
& POST
- единственные допустимые значения метода HTTP для атрибута method
. См. Спецификацию HTML для получения дополнительной информации.
Я считаю, что вы можете использовать их в AJAX-запросах.