Apacheが標準で受け付けるリクエストメソッド
このような記事を見つけた。
PUTリクエストが 405 Method Not Allowed になる
記事を要約すると、Apacheは特に指定がない限り、GET、POST以外は405を返すとのこと。
私が担当するWEBサーバでは、基本的にGETとPOST以外は403を返すように設計していて、
過去の業務でPUT と DELETEを許可してほしいと依頼があった際に、上記URLのような対応をした記憶がないぞと思って、
調査をすることにした。
環境
CentOS7.3
Apache/2.4.6 (CentOS)
結論
リクエスト先のコンテンツの内容によって、Apacheが制限するリクエストメソッドは異なる
厳密には、Apacheが使用するハンドラーによって異なる 参考: Apache のハンドラの使用
table:Apacheが許可するリクエストメソッド
種別 ハンドラー GET POST PUT DELETE HEAD TRACE OPTIONS 備考
静的コンテンツ default-handler 〇 〇 - - 〇 〇 〇 OPTIONSで確認可能
動的コンテンツ(CGI) cgi-script 〇 〇 〇 〇 〇 〇 〇
画像コンテンツ imap-file 〇 〇 - - 〇 〇 〇 OPTIONSで確認可能
サーバの状態 server-status 〇 〇 - - 〇 〇 〇 OPTIONSで確認可能
一般的に使われそうなメソッドで確認してみた。
CGIが特殊なようだ。
追記
動的コンテンツのときに、OPTIONS
メソッドで