2009-09-09 7 views
16

私はRESTプロトコルを実装しようとしていて、WebサーバがPUT要求を許可していないことをデバッグしようとしています。WebサーバーソフトウェアがPUT要求とDELETE要求を許可しないのはなぜですか?

私がテストして実行することにより、さらに、これを確認している:私のWebサーバの403バック与え

curl -X PUT http://www.mywebserver.com/testpage 

- 禁断のエラーを。

POSTGETについてはすべてが問題ありません。DELETEについても同じことが起こります。

これはRESTの出会いを使用する人と回避策が共通する問題であるかどうか疑問に思っていますか?

.htaccessファイルを簡単に変更できますか?または、POSTクエリ文字列に隠し変数 "_method"を設定するためにプロトコルを変更する必要がありますか?

答えて

54

Webサーバーは、 の時間の99%が必要なすべてであるため、GETとPOST以外のものをブロックするように設定されることが多く、要求がアプリケーション2つのうちの1つであったと仮定して。

次の例のように、あなたはディレクティブを可能にした 方法はApacheを伝えることができ、それはしかし、あるサーバー言っていない:

例:

<Limit POST PUT DELETE> 
    Require valid-user 
</Limit> 

それはおそらくいくつかの役に立つように聞こえますシステム管理者は、非GET/POSTをブロックするために

これを使用していますあなたは

<Limit GET POST PUT DELETE> 
    Allow from all 
</Limit> 
.htaccessを試みることができます

(私はApacheのエキスパートではありませんが、これは正確ではないかもしれません)

+0

*これらのメソッドが無効になっている*が見当たらない場合でもこの機能は追加されます。 - ahemは、それを見つけました。Debianでは、userdir.confにあります。 – bigstones

+0

'.htaccess'ファイルはどこに置くべきですか? –

関連する問題