Должны ли PUT и DELETE использоваться в формах? - PullRequest
68 голосов
/ 02 марта 2011

Предполагая, что мое веб-приложение полностью поддерживает PUT и DELETE на стороне сервера, я должен их использовать?

По сути, мой вопрос заключается в том, сколько браузеров поддерживают это:

<form method="PUT">

или

<form method="DELETE">

Есть ли какие-либо преимущества использования этих двух методов HTTP, помимо того, что они являются REST-совместимый?(при условии замены этих двух методов обычно используется POST)

Ответы [ 3 ]

73 голосов
/ 02 марта 2011

Ваш вопрос касается двух тесно связанных, но разных стандартов, HTTP и HTML. Методы PUT и DELETE являются частью HTTP. В HTTP они явно используются в интерфейсах RESTful и других сервисах, основанных на HTTP, таких как Webdav.

HTML до версии 4 определяет только использование POST и GET для форм. HTML5 в это время выглядит так, как будто он может поддерживать дальнейшие методы. [примечание, поддержка не включена в текущую версию w3]

Любая текущая поддержка браузера (я не знаю о ней напрямую) будет очень ограниченной и будет действительно полезна только в качестве эксперимента на переднем крае.

27 голосов
/ 02 марта 2011

GET, POST, PUT и DELETE (есть другие) являются частью стандарта HTTP, но в настоящее время вы ограничены GET и POST в формах HTML.

Как уже упоминал Эндрю, вы можете использовать PUT и DELETE в AJAX-запросах; однако это работает только в некоторых браузерах (см. http://api.jquery.com/jQuery.ajax/).

14 голосов
/ 02 марта 2011

Нет, GET & POST - единственные допустимые значения метода HTTP для атрибута method. См. HTML spec для получения дополнительной информации.

Я полагаю, вы можете использовать их в запросах AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...