Должны ли 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-запросах.