HTTPステータスコード一覧
HTTPステータスコードとその説明を表示および検索します。開発者およびウェブマスター向けの包括的なガイドです。
1xx Informational
- 100続行
クライアントはリクエストを継続する必要があります。この暫定レスポンスは、これまでのところすべてOKであり、クライアントはリクエストを続行するか、既に終了している場合は無視することを示します。
- 101プロトコル切り替え
サーバーは、クライアントがUpgradeリクエストヘッダーを介して要求したとおりにプロトコルを切り替えています。
- 102処理中
WebDAV; サーバーはリクエストを受信して処理中ですが、まだレスポンスは利用できません。これにより、クライアントがタイムアウトしてリクエストが失われたと見なすのを防ぎます。
- 103早期ヒント
サーバーは最終的なHTTPメッセージの前にいくつかのヘッダーを送信しています。これは、サーバーがまだメインレスポンスを準備している間に、クライアントがリソースのプリロードを開始できるようにするために使用されます。
2xx Successful
- 200OK
リクエストは成功しました。「成功」の意味はHTTPメソッドによって異なります: GET: リソースは取得され、メッセージボディで送信されました。HEAD: エンティティヘッダーはメッセージボディにあります。POSTまたはPUT: アクションの結果を記述するリソースはメッセージボディで送信されます。TRACE: メッセージボディには、サーバーが受信したリクエストメッセージが含まれています。
- 201作成完了
リクエストは履行され、新しいリソースが作成されました。新しいリソースはこのレスポンスが返送される前に効果的に作成され、新しいリソースはメッセージの本文で返されます。その場所はリクエストのURLか、Locationヘッダーの内容のいずれかです。
- 202受理
リクエストは処理のために受理されましたが、処理は完了していません。実際に処理が行われる際に許可されない可能性があるため、リクエストは最終的に実行されるかもしれないし、されないかもしれません。
- 203非 authoritative 情報
返されたメタ情報は、元のサーバーからではなく、ローカルまたはサードパーティのコピーからのものであり、間違っている可能性があります。この特定のケースを除き、このステータスよりも200 OKレスポンスが推奨されます。
- 204コンテンツなし
サーバーはリクエストを正常に処理しましたが、コンテンツを返していません。DELETEリクエストのようなレスポンスボディを必要としないアクションに便利です。
- 205コンテンツのリセット
サーバーはリクエストを正常に処理し、リクエスターにドキュメントビューのリセットを要求し、コンテンツを返していません。これは、新しい入力のためにフォームフィールドをクリアするためにフォームを送信した後にしばしば使用されます。
- 206部分的コンテンツ
サーバーは、クライアントから送信されたRangeヘッダーのため、リソースの一部のみを配信しています(バイトサービング)。Rangeヘッダーは、wgetなどのツールで中断されたダウンロードの再開を可能にしたり、ダウンロードを複数の同時ストリームに分割したりするために使用されます。
- 207マルチステータス
WebDAV; 複数のステータスコードが適切な状況のために、複数のリソースに関する情報を伝えます。ボディはXMLメッセージです。
- 208既に報告済み
WebDAV; 同じコレクションへの複数のバインディングの内部メンバーを繰り返し列挙することを避けるために、<dav:propstat>レスポンス要素内で使用されます。バインディングのメンバーは、以前の返信で既に列挙されています。
- 226IM使用
サーバーはリソースに対するGETリクエストを履行し、レスポンスは現在のインスタンスに適用された1つ以上のインスタンス操作の結果の表現です。(RFC 3229)
3xx Redirection
- 300複数の選択肢
クライアントが選択できるリソースの複数のオプション(例:異なるビデオ形式、異なる拡張子のファイルのリスト)を示します。サーバーは、優先的な選択肢を含むLocationヘッダーを含めることができます。
- 301恒久的に移動しました
これ以降のすべてのリクエストは、指定されたURIに向けられるべきです。検索エンジンはリソースへのリンクを更新します(「SEO用語」では、「リンクジュース」が新しいURLに送られると言われます)。
- 302発見
このレスポンスコードは、要求されたリソースのURIが一時的に変更されたことを意味します。URIは将来さらに変更される可能性があります。したがって、クライアントは将来のリクエストでこの同じURIを使用する必要があります。
- 303他を参照
サーバーはこのレスポンスを送信して、クライアントにGETリクエストで別のURIで要求されたリソースを取得するように指示しました。通常、POST/PUT操作の後に使用され、ページを更新するとフォームが再送信されるのを防ぎます。
- 304未変更
リクエストヘッダーIf-Modified-SinceまたはIf-None-Matchで指定されたバージョン以降、リソースが変更されていないことを示します。このような場合、クライアントは以前にダウンロードしたコピーをまだ持っているため、リソースを再送信する必要はありません。
- 305プロキシを使用
非推奨。要求されたリソースはプロキシ経由でのみ利用可能であり、そのアドレスはレスポンスで提供されます。多くのHTTPクライアント(Mozilla FirefoxやInternet Explorerなど)は、主にセキュリティ上の理由から、このステータスコードを持つレスポンスを正しく処理しません。
- 307一時的リダイレクト
サーバーはこのレスポンスを送信して、クライアントに以前のリクエストで使用されたのと同じメソッドで別のURIで要求されたリソースを取得するように指示します。これは302 Found HTTPレスポンスコードと同じセマンティクスを持ちますが、ユーザーエージェントは使用されたHTTPメソッドを変更してはなりません。
- 308恒久的リダイレクト
リソースは現在、Location: HTTPレスポンスヘッダーで指定された別のURIに恒久的に配置されています。これは301 Moved Permanently HTTPレスポンスコードと同じセマンティクスを持ちますが、ユーザーエージェントは使用されたHTTPメソッドを変更してはなりません。最初のリクエストでPOSTが使用された場合、2番目のリクエストでもPOSTを使用する必要があります。
4xx Client Error
- 400不正なリクエスト
サーバーは、明らかなクライアントエラー(例:不正なリクエスト構文、無効なリクエストメッセージフレーミング、または欺瞞的なリクエストルーティング)のため、リクエストを処理できないか、処理しません。
- 401認証されていません
認証が必要であり、失敗したか、まだ提供されていません。レスポンスには、要求されたリソースに適用可能なチャレンジを含むWWW-Authenticateヘッダーフィールドを含める必要があります。「認証失敗」に時々使用されますが、403の方が適切です。
- 402支払いが必要です
将来の使用のために予約されています。当初の意図は、このコードが何らかの形のデジタルキャッシュまたはマイクロペイメントスキームの一部として使用される可能性があるということでしたが、それはまだ実現しておらず、このコードは広く使用されていません。
- 403禁止されています
リクエストは有効でしたが、サーバーはアクションを拒否しています。ユーザーはリソースに必要な権限を持っていないか、何らかのアカウントが必要な場合があります。
- 404見つかりません
要求されたリソースは見つかりませんでしたが、将来利用可能になる可能性があります。クライアントによる後続のリクエストは許可されます。サーバーがリクエストが拒否された理由を正確に明らかにしたくない場合や、他のレスポンスが適用できない場合によく使用されます。
- 405許可されていないメソッド
要求されたリソースに対してリクエストメソッドがサポートされていません。たとえば、POST経由でデータを提示する必要があるフォームに対するGETリクエストや、読み取り専用リソースに対するPUTリクエストなどです。
- 406受理できません
要求されたリソースは、リクエストで送信されたAcceptヘッダーに従って受理できないコンテンツのみを生成できます。たとえば、クライアントはXMLを要求しましたが、サーバーはJSONしか提供できません。
- 407プロキシ認証が必要です
クライアントはまずプロキシで自身を認証する必要があります。プロキシは、要求されたリソースのプロキシに適用可能なチャレンジを含むProxy-Authenticateヘッダーフィールドを送信する必要があります。
- 408リクエストタイムアウト
サーバーはリクエストを待機中にタイムアウトしました。HTTP仕様によると:「クライアントは、サーバーが待機する準備ができていた時間内にリクエストを生成しませんでした。クライアントは、後でいつでも変更なしにリクエストを繰り返すことができます。」
- 409競合
リソースの現在の状態における競合(例:複数の同時更新間の編集競合)のため、リクエストを処理できなかったことを示します。
- 410消滅
要求されたリソースはもはや利用できず、再び利用可能になることはありません。これは、リソースが意図的に削除され、リソースをパージする必要がある場合に使用する必要があります。410ステータスコードを受信すると、クライアントは将来そのリソースを要求してはなりません。
- 411長さが必要です
リクエストはそのコンテンツの長さを指定していませんでした。これは要求されたリソースに必要です。サーバーは有効なContent-Lengthヘッダーなしではリクエストを受け付けません。
- 412前提条件失敗
サーバーは、リクエスターがリクエストヘッダーフィールドに設定した前提条件の1つを満たしていません。これは、条件付きGETリクエスト(If-MatchまたはIf-Unmodified-Sinceヘッダーを使用)でよく使用されます。
- 413ペイロードが大きすぎます
リクエストは、サーバーが処理する意思があるか、処理できるよりも大きいです。以前は「リクエストエンティティが大きすぎます」と呼ばれていました。
- 414URIが長すぎます
提供されたURIは、サーバーが処理するには長すぎました。GETリクエストのクエリ文字列としてエンコードされたデータが多すぎる結果であることが多く、その場合はPOSTリクエストに変換する必要があります。以前は「リクエストURIが長すぎます」と呼ばれていました。
- 415サポートされていないメディアタイプ
リクエストエンティティには、サーバーまたはリソースがサポートしていないメディアタイプがあります。たとえば、クライアントは画像をimage/svg+xmlとしてアップロードしますが、サーバーは画像が異なる形式を使用することを要求します。
- 416範囲を満たせません
クライアントはファイルの一部(バイトサービング)を要求しましたが、サーバーはその部分を提供できません。たとえば、クライアントがファイルの末尾を超えるファイルの一部を要求した場合などです。以前は「要求された範囲を満たせません」と呼ばれていました。
- 417期待失敗
サーバーはExpectリクエストヘッダーフィールドの要件を満たすことができません。クライアントは、サーバーが満たすことのできないExpectヘッダー(例:Expect: 100-continue)を送信しました。
- 418私はティーポットです
このコードは、1998年にRFC 2324、Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)でエイプリルフールのジョークとして定義され、実際のHTTPサーバーによる実装は期待されていません。しかし、イースターエッグとして時々使用されます。
- 421誤ったリクエスト
リクエストは、レスポンスを生成できないサーバーに向けられました。これは、リクエストURIに含まれるスキームと権限の組み合わせに対するレスポンスを生成するように構成されていないサーバーによって送信される可能性があります。
- 422処理できないエンティティ
WebDAV; リクエストは整形式でしたが、セマンティックエラーのために従うことができませんでした。たとえば、XMLリクエストボディには、整形式(つまり、構文的に正しい)であるがセマンティック的に誤ったXML命令が含まれています。
- 423ロックされています
WebDAV; アクセスされているリソースはロックされています。これは、メソッドのソースまたはデスティネーションリソースがロックされていることを意味します。
- 424依存関係失敗
WebDAV; リクエストは別のリクエストに依存しており、そのリクエストが失敗したため(例:失敗したPROPFINDを伴うPROPPATCH)、リクエストは失敗しました。
- 426アップグレードが必要です
クライアントは、Upgradeヘッダーフィールドで指定されたTLS/1.0などの別のプロトコルに切り替える必要があります。サーバーは、このレスポンスとともにUpgradeヘッダーを送信して、必要なプロトコルを示します。
- 428前提条件が必要です
オリジンサーバーはリクエストが条件付きであることを要求します。「失われた更新」問題を防止することを目的としています。この問題では、クライアントがリソースの状態を取得し、変更し、サーバーに戻しますが、その間に第三者がサーバー上の状態を変更し、競合が発生します。
- 429リクエストが多すぎます
ユーザーは一定時間内に多すぎるリクエストを送信しました(「レート制限」)。レスポンス表現には、状態を説明する詳細を含めるべきであり、新しいリクエストを行う前にどれだけ待つかを示すRetry-Afterヘッダーを含めることができます。
- 431リクエストヘッダーフィールドが大きすぎます
サーバーは、ヘッダーフィールドが大きすぎるため、リクエストの処理を望んでいません。リクエストヘッダーフィールドのサイズを縮小した後、リクエストを再送信することができます。
- 451法的な理由により利用できません
サーバーは、法的な要求の結果としてリソースへのアクセスを拒否しています。これは、政府の検閲や裁判所の命令である可能性があります。
5xx Server Error
- 500内部サーバーエラー
予期しない状態が発生し、より具体的なメッセージが適切でない場合に与えられる一般的なエラーメッセージです。これは「キャッチオール」のサーバー側エラーです。
- 501実装されていません
サーバーはリクエストメソッドを認識しないか、リクエストを履行する能力がありません。通常、これは将来の可用性(例:WebサービスAPIの新機能)を意味します。
- 502不正なゲートウェイ
サーバーはゲートウェイまたはプロキシとして機能しており、リクエストを履行しようとしてアクセスしたアップストリームサーバーから無効なレスポンスを受信しました。
- 503サービス利用不可
サーバーは現在利用できません(過負荷またはメンテナンスのため)。一般的に、これは一時的な状態です。遅延を示唆するためにRetry-Afterヘッダーが含まれる場合があります。
- 504ゲートウェイタイムアウト
サーバーはゲートウェイまたはプロキシとして機能しており、リクエストを完了するためにアクセスする必要があったアップストリームサーバーまたは他の補助サーバーからタイムリーなレスポンスを受信しませんでした。
- 505サポートされていないHTTPバージョン
サーバーは、リクエストで使用されたHTTPプロトコルバージョンをサポートしていません。レスポンスには、そのバージョンがサポートされていない理由と、そのサーバーがサポートしている他のプロトコルを記述するエンティティを含める必要があります。
- 506バリアントもネゴシエート
リクエストの透過的コンテンツネゴシエーションは、循環参照になります。選択されたバリアントリソースは、それ自体が透過的コンテンツネゴシエーションに参加するように構成されているため、ネゴシエーションプロセスにおける適切なエンドポイントではありません。
- 507ストレージ不足
WebDAV; サーバーは、リクエストを完了するために必要な表現を保存できません。この状態は一時的なものと見なされます。
- 508ループ検出
WebDAV; サーバーはリクエストの処理中に無限ループを検出しました(208 Already Reportedの代わりに送信)。これは、操作全体が失敗したことを示します。
- 510拡張されていません
サーバーがリクエストを履行するには、リクエストへのさらなる拡張が必要です。リクエストには、サーバーでサポートされていない必須の拡張機能が必要です。
- 511ネットワーク認証が必要です
クライアントはネットワークアクセスを取得するために認証する必要があります。ネットワークへのアクセスを制御するために使用されるインターセプトプロキシ(例:Wi-Fiホットスポット経由で完全なインターネットアクセスを許可する前に利用規約への同意を要求するために使用される「キャプティブポータル」)による使用を目的としています。
HTTPステータスコードに関するよくある質問
HTTPステータスコードとは何ですか?
HTTPステータスコードは、ブラウザのリクエストに対するサーバーの3桁の応答です。特定のHTTPリクエストが正常に完了したか、さらなるアクションが必要か、またはエラーが発生したかを示します。
なぜHTTPステータスコードは重要ですか?
ウェブサイトの問題を診断し、サーバーの応答を理解し、スムーズなユーザーエクスペリエンスを確保するために不可欠です。また、ページが移動したか存在しなくなったかなど、検索エンジンにページの扱い方を伝えることでSEOにおいて重要な役割を果たします。
HTTPステータスコードにはいくつのカテゴリがありますか?
HTTPステータスコードは、1xx(情報)、2xx(成功)、3xx(リダイレクション)、4xx(クライアントエラー)、5xx(サーバーエラー)の5つのクラスに分類されます。各クラスは異なるタイプのサーバー応答を表します。
4xxエラーと5xxエラーの違いは何ですか?
4xxエラー(例:404 Not Found)はクライアントのリクエストに問題があることを示し、サーバーがクライアントが間違いを犯したと考えていることを意味します。5xxエラー(例:500 Internal Server Error)は、サーバー側の問題により、一見有効なリクエストをサーバーが処理できなかったことを意味します。
ページが恒久的に移動した場合、SEOに最適なHTTPステータスコードは何ですか?
ページのURLが恒久的に変更された場合、SEOに最適なHTTPステータスコードは301 Moved Permanentlyリダイレクトです。これにより、検索エンジンはすべてのリンクエクイティとランキングシグナルを新しいURLに転送するよう指示されます。
404エラーとは何を意味し、どのように修正しますか?
404 Not Foundエラーは、サーバーが要求されたリソース(例:ウェブページ)を見つけられなかったことを意味します。修正するには、URLが正しいことを確認するか、ウェブマスターの場合は、見つからないページを復元するか、関連ページへの301リダイレクトを設定します。