405

Method Not Allowed

公式 サブステータスコード
リクエストに使用されたメソッドが許可されていない

HTTPステータスコード405の仕様

405 Method Not Allowedステータスコードは、リクエストラインで受け取ったメソッドが、オリジンサーバーでは知られているが、ターゲットリソースではサポートされていないことを示す。 オリジンサーバーは、ターゲットリソースの現在サポートされているメソッドのリストを含むAllowヘッダーフィールドを405 Method Not Allowed応答で生成しなければならない(MUST)。405 Method Not Allowed応答は、デフォルトでキャッシュ可能です。つまり、メソッド定義または明示的なキャッシュ制御によって特に示されない限り、405 Method Not Allowed応答はキャッシュ可能です。

出典・引用元はこちら 405 Method Not Allowed HTTP Status Code は、6.5.5 のセクションで規定されています。

PHPで405ステータスコードを投げるには?

WebページでHTTPステータスコード405を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(405) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

405 HTTPステータスコードのテスト

クライアント側でHTTPステータスコード(ここでは405 Method Not Allowed)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:

ステータスコード 405 Method Not Allowed
概要
URL: https://http-statuscode.com/errorCodeExample.php?code=405
ステータス: 405 Method Not Allowed
それらの: Network
IPアドレス: XX.XX.XX.XX
ステータスコード 405 Method Not Allowed

405ステータスコードの問題を解決するにはどうすればよいですか?

HTTPステータスコード405 Method Not Allowedの問題の解決策は、クライアントまたはサーバー側で必要な変更を行うことです。

  1. サポートされているHTTPメソッドをチェックする:405 Method Not Allowed ステータスコードは、サーバーがサポートしていない HTTP メソッドをクライアントが使用した場合に発生します。実行したいアクションに応じて、GET、POST、PUT、または DELETE など、正しいメソッドを使用していることを確認してください。API またはサーバーのドキュメントをチェックして、問題のリソースでサポートされているメソッドを確認してください:URLの書式が正しくないか、無効なために405 Method Not Allowedエラーになっている可能性があります。URL が正しく、サーバー上の正しいリソースを指していることを確認してください。
  2. アクセス許可の確認: クライアントがリソース上で要求されたアクションを実行するのに必要な許可を持っていない場合、405 Method Not Allowed エラーが発生する可能性があります。
  3. サーバー構成を確認する: サーバーは、特定のリソースに対して特定の HTTP メソッドをブロックするように構成されている可能性があります。サーバー構成をチェックして、目的のメソッドが問題のリソースに対して許可されていることを確認します。
  4. ファイアウォールやプロキシを確認する: ファイアウォールやプロキシがHTTPトラフィックを制限しているために405 Method Not Allowedエラーが発生している可能性があります。ファイアウォールやプロキシが正しく設定され、通信に必要な HTTP メソッドを許可していることを確認してください。
  5. 使用するソフトウェアを更新する: (Web ブラウザーや API クライアントなどの) ソフトウェアのバージョンが古かったり、不具合があったりすると、エラーが発生することがあります。
  6. ドキュメントまたはサポートを参照する: 上記の解決策で問題が解決しない場合は、サーバーまたは API の公式ドキュメントを参照してください。そこに具体的な情報やさらなるトラブルシューティングの手順があるかもしれません。

405 Method Not Allowedエラーの解決方法は、特定の環境とコンテキストに依存する可能性があることに注意してください。

ステータスコード405のエラーページを自作する方法

405 Method Not Allowedエラーページの作成は、「Apache」「NGINX」どちらのウェブサーバーでも比較的簡単に行うことができます。

Apache Webserver

Webサーバー「Apache」は、インターネット上で最も一般的なWebサーバーの1つです。Apache」で独自の405 Method Not Allowedエラーページを作成するためには、以下のファイルを変更する必要があります。

File: .htaccess
ErrorDocument 405 /errors/405.html

NGINX Webserver

Webサーバー「Apache」と同様に、「NGINX」もインターネット上で広く利用されています。NGINX」で独自の405 Method Not Allowedエラーページを作成するためには、以下のファイルを変更する必要があります。

File: sites-enabled/default
error_page 405 /405.html;
location = /405.html {
    root /usr/share/nginx/html;
    internal;
}

405ステータスコードのブラウザ互換性

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

プログラミング言語における定数

HttpStatusCode.MethodNotAllowed
http.StatusMethodNotAllowed
Response::HTTP_METHOD_NOT_ALLOWED
httplib.METHOD_NOT_ALLOWED
http.client.METHOD_NOT_ALLOWED
http.HTTPStatus.METHOD_NOT_ALLOWED
:method_not_allowed

405 ステータスコードのサブステータスコード

サブステータスコードは純粋に技術的なものであり、決してユーザーに送信されるべきではありません。例えば、ステータスコード405.1が投げられた場合、それは記録されるかもしれませんが、ステータスコード405はユーザーに送信されます。:
405.0 Method not allowed
HTTP IIS, 非公式

HTTPステータスコード405に関するミームを楽しませる

著者: Tony Brüser
著者: Tony Brüser

トニー・ブリュザーは、HTTPステータスコードにこだわりのある熱心なウェブ開発者だ。

LinkedInGitHub