web-dev-qa-db-ja.com

フォームでPUTおよびDELETEを使用する必要がありますか?

Webアプリケーションがサーバー側でPUTおよびDELETEを完全にサポートしていると仮定すると、それらを利用する必要がありますか?

基本的に私の質問は、これをサポートするブラウザーの数です。

<form method="PUT">

または

<form method="DELETE">

RESTに準拠する以外に、これら2つのHTTPメソッドを使用する利点はありますか? (これら2つのメソッドの置換が一般的に使用されるPOSTであると仮定)

70
Earlz

あなたの質問には、HTTPとHTMLという、密接に関連しているが別々の2つの標準が関係しています。 PUTおよびDELETEメソッドはHTTPの一部です。 HTTPでは、RESTfulインターフェイス、およびWebdavなどのHTTP上に構築される他のサービスで明らかに使用されます。

バージョン4までのHTMLは、POSTおよびGETの使用のみを定義します。現時点では、HTML5はさらなるメソッドをサポートしているように見えます。[注、現在のw3ドラフト]

現在のブラウザのサポート(私は直接気付いていません)は非常に制限されており、出血しているEdgeでの実験としてのみ本当に役立ちます。

76
leebriggs

GET、POST、PUT、およびDELETE(他にもあります)はHTTP標準の一部ですが、現時点ではHTMLフォームではGETおよびPOSTに制限されています。

Andrewが述べたように、AJAXリクエストでPUTとDELETEを使用できますが、これは一部のブラウザでのみ機能します( http://api.jquery.com/jQuery.ajaxを参照してください/ )。

27
BMiner

いいえ、GETおよびPOSTのみがmethod属性の有効なHTTPメソッド値です。詳細については、 HTML仕様 を参照してください。

IbelieveAJAXリクエストで使用できます。

14
Andrew Marshall