ホームページ  >  記事  >  バックエンド開発  >  PHP は http ステータス コードと一般的なステータス コードを出力します

PHP は http ステータス コードと一般的なステータス コードを出力します

WBOY
WBOYオリジナル
2016-08-08 09:19:392763ブラウズ
header("HTTP/1.1 403 Forbidden");
echo <<<sql
        <!DOCTYPE html>
        <html lang="en">
        	<head>
        		<meta charset="utf-8">
				<meta name="viewport" c minimum-scale=1, width=device-width">
				<title>Error 404 Not Found</title>
			</head>
			<body>
		  		<H1>Not Found</H1> <p><ins>That’s an error.</ins></p>
		  		<p>The requested URL <code><?php echo dirname({$_SERVER["SCRIPT_NAME"]});?></code> was not found on this server.  
		  		<ins>That’s all we know.</ins></p>
		  	</body>
		</html>
        <HTML>
            <HEAD>
                <meta charset="utf-8">
                <TITLE>404 Not Found</TITLE>
            </HEAD>
            <BODY>
                <H1>Not Found</H1>
                    The requested URL <?php echo dirname({$_SERVER["SCRIPT_NAME"]});?> was not found on this server.<P>
                <HR>
                <ADDRESS>Web Server at {$_SERVER["SERVER_NAME"]} Port {$_SERVER["SERVER_PORT"]}</ADDRESS>
            </BODY>
        </HTML>
sql;

http://www.w3.org/Protocols/rfc2616/rfc2616
ハイパーテキスト転送プロトコル -- HTTP/1.1
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
100-199クライアントが応答する必要がある特定のアクションを指定するために使用されます。
200-299 は、リクエストが正常に理解され、受け入れられたことを示すために使用されます。
300-399 は、移動されたファイルに使用され、新しいアドレス情報を指定するために場所ヘッダー情報に含まれることがよくあります。
400-499 はクライアント エラーを示すために使用されます。
500-599 はサーバーエラーをサポートするために使用されます。
[Informational 1xx] Informational
100="Continue" Continue: サーバーがヘッダーに 100- continue を含むリクエストを受信した場合、これはクライアントが後続のリクエストで添付ファイルを送信できるかどうかを尋ねることを意味します。この場合、サーバーは 100 (SC_CONTINUE) を使用してクライアントの続行を許可するか、417 (Expectation Failed) を使用してクライアントに添付ファイルの受け入れに同意しないことを伝えます。このステータス コードは HTTP 1.1 で新しく追加されました。
101="スイッチング プロトコル" スイッチング プロトコル: サーバーは、クライアントの要件を理解し、これに準拠し、メッセージ ヘッダー フィールドをアップグレードすることで、この接続で使用されるアプリケーション プロトコルを変更します。
[Successful 2xx] Success
>>>200="OK" Success
201="Created" Created: リクエストは完了し、新しいリソースが作成されました。その URL は位置決めヘッダー情報で指定する必要があります。
202="Accepted" 承諾済み: 処理要求は受け付けられましたが、処理は完了していません。
203="非権限情報" 非権限情報
>>>204="No Content" コンテンツなし: サーバーはリクエストを完了しましたが、コンテンツを返しませんでした。
205="コンテンツのリセット" コンテンツのリセット: サーバーはリクエストを完了しました。ユーザー エージェントはリクエストの原因となったドキュメント ビューをリセットする必要があります。これはブラウザにフォーム フィールドを強制的にクリアするために使用されます。これは HTTP 1.1 の新機能です。
206="Partial Content" 部分コンテンツ: サーバーが範囲ヘッダー情報を含む部分リクエストを完了したときに送信されます
[Redirection 3xx] リダイレクト
300="Multiple Choices" 複数の選択肢: リクエストされたドキュメントが複数の場所で見つかる可能性があることを示し、返送される書類に記載されます。サーバーに設定がある場合、その設定は位置応答ヘッダーにリストされます。
>>>301="Moved Permanently" 永続的に移動: 要求されたリソースには新しい永続的な URI が割り当てられ、このリソースへの今後の参照には、この返された URI が使用されます。ブラウザは自動的に新しい URL に接続します。 注: 301 ステータス コードを受信した POST リクエストを自動的にリダイレクトする場合、一部の既存の HTTP/1.0 ユーザー エージェントは POST リクエストを GET リクエストに誤ってリダイレクトします
>>>302="Found" Found: 要求されたリソース 一時的に存在します一時的な URI で。これは 301 に似ていますが、位置決めヘッダー情報で指定される URL が永続的なアドレスではなく一時的な交換アドレスとして理解される必要がある点が異なります。注: HTTP 1.0 では、メッセージは検出されるのではなく一時的に移動されます (一時的に移動)
303="See Other" See Other: このリクエストに対する応答は別の URI にある可能性があり、リソースの GET メソッドを使用して取得する必要があります。 301 および 302 と同様ですが、元のリクエストが POST だった場合、新しいドキュメント (位置決めヘッダー情報で指定) を GET を使用して取得する必要がある点が異なります。このステータス コードは HTTP 1.1 の新しいコードです。
>>>304="Not Modified" 未変更: クライアントが条件付きで GET リクエストを実行してアクセスを許可したが、ファイルが変更されていない場合、サーバーはこのステータス コードで応答する必要があります。
305="プロキシを使用" プロキシを使用: 要求されたリソースの場所フィールドにはプロキシ経由でアクセスする必要があります。 HTTP 1.1 の新機能。
306="(Unused)" (未使用) 306 ステータス コードは以前のバージョンの仕様を使用しており、現在は使用されていません。
307="Temporary Redirect" 一時リダイレクト: 要求されたリソースは一時的に別の場所に存在します。 URI。ブラウザが 307 ステータスを処理するためのルールは 302 と同じです。 307 ステータスが HTTP 1.1 に追加されたのは、元のメッセージが POST であっても、多くのブラウザが 302 応答を受信したときに誤ったリダイレクトを実行したためです。ブラウザは、303 応答を受信した場合にのみ POST リクエストをリダイレクトすると想定されます。この新しいステータス コードを追加する目的は明らかです。応答が 303 の場合は GET リクエストと POST リクエストにリダイレクトされ、応答が 307 の場合は POST リクエストではなく GET リクエストにリダイレクトされます。
[クライアント エラー 4xx] クライアント エラー
>>>400="不正なリクエスト" サーバーはリクエストの構文を理解していません。
>>>401="Unauthorized" 未承認: リクエストにはユーザー認証が必要です。リクエストにすでに認可証明書が含まれている場合、401 応答は資格情報が拒否されたことを示します。この応答には、WWW-Authenticate 認証ヘッダーが含まれている必要があります。
402="支払いが必要です" 支払いが必要です: このコードは将来の使用のために予約されています。
>>>403="Forbidden" Forbidden: サーバーはリクエストを理解しましたが、それを満たすことを拒否しました。
>>>404="見つかりません"
405="メソッドが許可されていません" 許可されていません: リクエスト行で指定されたメソッドは、URI で識別されるリソースをリクエストすることを許可されていません。リクエスト メソッド (GET、POST、HEAD、PUT、DELETE など) が特定のリソースに対して許可されていないことを示します。
406="Not Acceptable" 受け入れられません: 要求されたリソースの MIME タイプが、クライアントの Accept ヘッダー情報で指定されたタイプと一致しないことを示します。
407="プロキシ認証が必要です" プロキシ認証: このコードは 401 (未承認) に似ていますが、クライアントが最初に認証する必要があることを意味します。
408="リクエスト タイムアウト" リクエスト タイムアウト: サーバーが待機する準備ができている間、クライアントはリクエストを生成しませんでした。 HTTP 1.1 の新機能。
409="Conflict" 競合: リソースの現在の状態と競合するため、リクエストを完了できません。このステータスは通常、PUT リクエストで使用されます。409 ステータスは、誤ったバージョンのファイルをアップロードしようとするときによく使用されます。このステータス コードは HTTP 1.1 の新しいコードです。
>>>410="Gone" Gone: 要求されたリソースは利用可能なサーバーではなくなり、転送アドレスがありません。要求されたドキュメントがもう存在せず、アドレスも更新されていないことをクライアントに伝えます。 410 ステータスは 404 とは異なります。410 はガイダンス文書が移動された場合に使用され、404 は不明な理由でアクセスできない場合に使用されます。このステータス コードは HTTP 1.1 の新しいコードです。
411="Length Required" 長さが必要: サーバーは、コンテンツの長さを定義しないリクエストの受け入れを拒否します。クライアントがサーバーに送信するデータのサイズを示す Content-Length ヘッダーを送信しない限り、サーバーがリクエストを処理できないことを示します (添付ファイル付きの POST リクエストを想定)。この状態は HTTP 1.1 の新しい状態です。
412="Precondition Failed" 前提条件が失敗しました: 1 つ以上のリクエスト ヘッダー フィールドがサーバー上でテストされるときに、1 つ以上のリクエスト ヘッダー フィールドに指定された前提条件。リクエストヘッダーの特定の前提条件が正しくないことを示します。この状態は HTTP 1.1 の新しい状態です。
413="リクエスト エンティティが大きすぎます" リクエスト エンティティが大きすぎます: リクエストされたドキュメントがサーバーが現在処理したいサイズよりも大きいことをクライアントに伝えます。サーバーがしばらく経っても処理できると判断した場合は、Retry-After 応答ヘッダーが含まれます。この状態は HTTP 1.1 の新しい状態です。
414="Request-URI Too Long" リクエスト URI が長すぎます: URI が長すぎる場合にこのステータスが使用されます。ここでいう「URI」とは、URL内のホスト、ドメイン名、ポート番号に続く内容を指します。 HTTP 1.1 に新たに追加されました。
415="サポートされていないメディア タイプ" サポートされていないメディア タイプ: リクエストに添付された添付ファイルの形式タイプがサーバーに認識されていません。この状態は HTTP 1.1 の新しい状態です。
416="Requested Range Not Satisfiable" リクエスト範囲が満たされていません: サーバーが満たすことができない Range ヘッダー情報を含むリクエストがクライアントに含まれていることを示します。この状態は HTTP 1.1 の新しい状態です。
417="Expectation Failed" 期待の失敗: サーバーが 100-Continue 値を持つ Expect リクエスト ヘッダーを取得した場合、これはクライアントが後続のリクエストで添付ファイルを送信できるかどうかを尋ねていることを意味します。この場合、サーバーはステータス (417) を使用してサーバーが添付ファイルを受け入れないことをブラウザに伝えるか、100 ステータスを使用してクライアントに添付ファイルの送信を続行できることを伝えます。この状態は HTTP 1.1 の新しい状態です。
[サーバー エラー 5xx] サーバー エラー
>>>500="内部サーバー エラー" 内部サーバー エラー
>>>501="実装されていません" 実行できません: サーバーは必要な機能をサポートしていませんリクエストを完了します。リクエストで要求された機能をサーバーがサポートしていないことをクライアントに伝えます。たとえば、クライアントは、サーバーがサポートしていない PUT などのコマンドを実行します。
>>>502="不正なゲートウェイ" 不正なゲートウェイ: ゲートウェイまたはプロキシとして機能するサーバーが、アクセス要求に応じようとしたときに、上流のサーバーから無効な応答を受け取りました。このステータスは、受信側サーバーがリモート サーバーからエラー応答を受信したことを示します。
>>>503="サービスを利用できません" サービスを利用できません: 一時的な過負荷またはサーバーのメンテナンスのため、サーバーは現在リクエストを処理できません。サーバーによっては、単純に接続を拒否したい場合があります。たとえば、一部のスレッドまたはデータベース接続プールが空いていない場合、サーバーはこのヘッダーを返す必要があります。サーバーは Retry-After ヘッダーを提供して、いつ再試行できるかをクライアントに通知できます。
504="ゲートウェイ タイムアウト" ゲートウェイ タイムアウト: 受信サーバーがリモート サーバーからタイムリーな応答を取得できなかったことを示します。この状態は HTTP 1.1 の新しい状態です。
505="HTTP バージョンはサポートされていません" HTTP バージョンはサポートされていません: サーバーは、リクエスト メッセージで使用されている HTTP プロトコルのバージョンをサポートしていないか、サポートを拒否しています。この状態は HTTP 1.1 の新しい状態です。
簡潔なバージョン:
リクエストが正常に処理されたことを示す Successful 2XX ステータス コード。
200 サーバーはリクエストを正常に処理し、リクエストされた Web ページを提供しました。
204 サーバーはリクエストを正常に処理しましたが、何も返しませんでした。 各リクエストに対する 3xx リクエストへのリダイレクトは 5 回を超えて使用しないでください。
301 要求された Web ページは新しい場所に完全に移動されました。 URL が変更される場合は、301 コードを使用してください。新しい URL を検索エンジンのインデックスに保存します。
302 要求された Web ページは一時的に新しい場所に移動されます。元の URL は検索エンジンのインデックスに保存されます。 304のうち304のllllllllllllは、リクエスターの最後のリクエスト以来、Webページが更新されていない場合に保存されます。
クライアント エラー 4XX は、リクエストにエラーがあり、サーバーの処理を妨げている可能性があることを示します。
400 サーバーはリクエストの構文を理解できません。
403 サーバーはリクエストを拒否しました。
404 サーバーは要求された Web ページを見つけることができません。このコードは、サーバー上に存在しない Web ページに対して返されることがよくあります。
410 リクエストされたリソースが完全に削除された後、サーバーはこの応答を返します。このコードは 404 (Not Found) コードに似ていますが、リソースが以前は存在していたが現在は存在しない場合に、404 コードの代わりに使用されることがあります。リソースが完全に削除されている場合は、301 を使用してリソースの新しい場所を指定する必要があります。
サーバー エラー 5XX は、サーバーがリクエストを処理しているときに内部エラーが発生したことを意味します。これらのエラーは、リクエスト内のエラーではなく、サーバー自体のエラーである可能性があります。
500 サーバーでエラーが発生したため、リクエストを完了できませんでした。
503 サーバーは現在利用できません(過負荷またはメンテナンスのためのダウンタイムのため)。通常、これは一時的な状態です。
詳細な内訳:
2XX 成功
200 正常なリクエスト。
201 通常。直後に POST コマンドが続きます。
202 正常; 処理は受け入れられましたが、処理はまだ完了していません。
203 通常; 部分的な情報 — 返される情報は一部にすぎません。
204 正常; 応答なし - リクエストは受信されましたが、送り返される情報がありません。
3XX リダイレクト
301 移動 — 要求されたデータには新しい場所があり、変更は永続的です。
302 Found — 要求されたデータは一時的に異なる URI を持ちます。
303 See Other — リクエストに対するレスポンスは別の URI にあり、GET メソッドを使用して取得する必要があります。
304 未変更 — ドキュメントは期待どおりに変更されませんでした。
305 プロキシを使用する — 要求されたリソースには、場所フィールドに指定されたプロキシを介してアクセスする必要があります。
306 未使用 — 現在は使用されていません。将来の使用のためにこのコードを保持します。
4XX クライアントのエラー
400 Bad Request — リクエストに構文の問題があるか、リクエストを実行できません。
401 Unauthorized — クライアントにはデータへのアクセスが許可されていません。
402 支払いが必要 — 請求システムが有効であることを示します。
403 禁止 — 承認があってもアクセスは必要ありません。
404 Not Found — サーバーは指定されたリソースを見つけることができません。ドキュメントは存在しません。
407 プロキシ認証リクエスト — クライアントは、まずプロキシを使用して自身を認証する必要があります。
415 サポートされていないメディア タイプ — 要求されたエンティティの形式がサポートされていないため、サーバーは要求の処理を拒否しました。
5XX サーバーのエラー
500 内部エラー — サーバーは、予期しない状況によりリクエストを完了できません。
501 未実行 — サーバーは要求されたツールをサポートしていません。
502 Bad Gateway — サーバーは上流サーバーから無効な応答を受け取りました。
503 サービスを取得できません — 一時的な過負荷またはメンテナンスのため、サーバーはリクエストを処理できませんでした。
504 ゲートウェイ タイムアウト
ゲートウェイまたはプロキシとして機能するサーバーがリクエストを実行しようとすると、上流サーバー (HTTP、FTP、LDAP などの URI によって識別されるサーバー) または補助サーバー (DNS など)。
注: 一部のプロキシ サーバーは、DNS クエリがタイムアウトすると 400 または 500 エラーを返します。
505 HTTP バージョンがサポートされていません
サーバーは、リクエストで使用されている HTTP バージョンをサポートしていないか、サポートを拒否しています。これは、サーバーがクライアントと同じバージョンを使用できない、または使用したくないことを意味します。応答には、そのバージョンがサポートされない理由とサーバーがサポートするプロトコルを説明するエンティティが含まれている必要があります。
506 バリアントもネゴシエートします
透過的コンテンツ ネゴシエーション プロトコル (RFC 2295) によって拡張され、サーバーの内部構成エラーを表します。要求されたネゴシエーション変数リソースは、透過的コンテンツ ネゴシエーションでそれ自体を使用するように構成されているため、ネゴシエーション プロセスでは使用されません。適切な焦点。
507 ストレージが不十分です
サーバーはリクエストを完了するために必要なコンテンツを保存できません。この状態は一時的なものと考えられます。 WebDAV (RFC 4918)
508 ループが検出されました
サーバーはリクエスト内で無限ループを検出しました
509 帯域幅制限を超えました
サーバーは帯域幅制限に達しました。これは正式なステータス コードではありませんが、依然として広く使用されています。
510 Not Extended
リソースを取得するために必要な戦略が満たされていません。 (RFC 2774)

著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、PHP が出力する http ステータス コードと一般的なステータス コードを、関連する内容も含めて紹介します。PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。