Web 開発の世界では、HTTP エラー コードはユーザー エクスペリエンスと Web サイトの評判に影響を与える重要な役割を果たします。この記事では、サーバー エラー コードの完全なリストを検討し、その意味を分析し、問題を解決して Web アプリのパフォーマンスを最適化するためにサーバー応答コードを効果的に解釈する方法を学びます。
HTTPレスポンスコードとは何か
HTTP 応答コードは、ブラウザのリクエストを理解可能な指示に変換する Web サーバーの言語です。これは、仮想の質問に答えて、意味と方向性を与える詩人のようなものです。応答コードは、必ずしも HTTP エラー コードであるとは限りません。たとえば、「200 OK」はすべてが正常であることを意味しますが、HTTP エラー「404 Not Found」は、仮想空間でページが失われたことを意味します。各コードはサーバーの状態を一意に表現したもので、これを解読することで、仮想世界の反対側で何が起こっているかを理解できます。
1xx コード (情報)
HTTP プロトコルの 1xx ステータス コードは、サーバーとクライアント間の対話における最初のリンクのようなものです。リクエストに対する完全な応答を提供する代わりに、現在のステータスに関する情報を提供し、データ交換をより効率的にします。詳しく見てみましょう。
100 続行サーバーがユーザーに青信号を与え、ユーザーが大きなリクエストを安全に送信し続けることを許可する HTTP 応答コード。
101 スイッチング プロトコルサーバーは、ゲームのルールを変更すること、たとえば HTTP からより安全な HTTPS に移行することをクライアントに通知します。この場合、プロトコルの変更には「Upgrade」ヘッダーが使用されます。
102処理このコードは、サーバーがリクエストを受け入れたものの、まだ複雑な操作でビジー状態であることを示すメッセージのようなものです。
103 初期のヒントここで、サーバーはメインの応答の前にいくつかの指示ヘッダーをクライアントに送信し、近い将来に関連する可能性があるものについて警告します。
2xx コード (成功)
2xx グループの HTTP エラー コードは、サーバーからの要求が成功したことを示します。これらは基本的に、Web 通信の範囲内で「青信号」として機能し、すべてが計画どおりに進み、正常に完了したことを確認します。
200 OKこのステータスは、サーバーが GET メソッドによるリクエストを問題なく処理し、要求されたデータを応答で返す場合に使用されます。「Content-Type」ヘッダーは、応答のコンテンツ タイプを報告します。これは、クライアントにリクエストが成功したことを通知するだけです。
201 作成済みここで、サーバーは新しいリソースの作成を通知します。
202 承認済みサーバーは、リクエストが受け入れられたが、応答には時間がかかることをユーザーに通知します。
203 非権威情報このコードは、公式ではないかもしれないが比較に使用できるデータをクライアントに提供します。
204 コンテンツなしサーバーはリクエストを処理しましたが、追加のコンテンツを返していません。
205 コンテンツをリセットここで、クライアントは送信後に現在のビューまたはデータをリセットするように指示されます。
206 部分的なコンテンツこの場合は、応答に要求されたコンテンツの一部のみが含まれていることを示します。「Content-Range」ヘッダーは、部分的なコンテンツの範囲を示します。
207 マルチステータス。 サーバーはクライアントからの複数操作要求を正常に完了し、応答には各操作のステータスに関する情報が含まれています。
226 IM 使用このコードは、サーバーが増分メタデータ (IM) 方式を使用し、変更されたリソース部分のみをクライアントに渡すことで応答したことを示します。
3xx コード (リダイレクト)
HTTP プロトコルの 3xx コードは、ユーザーを新しいリソースの場所に誘導するポインターのようなものです。要求されたコンテンツを取得するには、または別のリソースにリダイレクトするには、後続の手順を実行する必要があることをクライアントに通知します。それぞれの詳細を見てみましょう。
300 の複数の選択肢クライアントは、リソースの可能性のある場所が複数あるという信号を受信し、それに応じて選択肢が与えられます。現在の状況では、「Location」ヘッダーはリソースの代替オプションを示している可能性があります。
301 永久に移動されました。 サーバーは、リソースが別の場所に永続的に移動されたことをユーザーに報告します。
302が見つかりましたこの HTTP コードは一時的なリダイレクトに似ています。サーバーは、リソースが別の URL で一時的に利用可能であることを消費者に通知します。「Location」ヘッダーは、一時的なリダイレクトの新しい URL を指します。
303他を見るクライアントには、リソースが別の URL で利用可能であることが通知され、この新しいアドレスに対して GET リクエストを実行する必要があります。
304が変更されていないこのステータスは、リソースが最後のリクエスト以降変更されていないため、再度ダウンロードする必要がないことをクライアントに伝えます。リクエストを行うときに、「If-Modified-Since」ヘッダーを使用して、リソースが変更されたかどうかを確認します。
305 プロキシを使用します。 応答として、サーバーは、要求されたリソースにアクセスするために指定されたプロキシを使用する必要があることを報告します。
306 (予約済み) — コードは予約されていますが、実際には使用されていません。
307一時的なリダイレクトこのコードは 302 Found に似ていますが、クライアントは元のリクエストで使用されたリクエスト メソッドを維持することが必要です。
308 永久リダイレクトリソースが新しい URI に永続的に移動され、クライアントは今後のすべてのリクエストに新しい URI を使用する必要があることを示します。
4xx HTTP エラー (クライアント エラー)
HTTP 4xx エラー コードはクライアント エラーを示します。これは、問題が Web ブラウザーやアプリなどのユーザー側にあることを意味します。
400の間違ったリクエスト構文エラー、無効なデータ、またはクライアント側のその他のエラーのため、サーバーは要求を処理できません。
401 権限がありません。 構文エラー、無効なデータ、またはクライアント側のその他のエラーのため、サーバーは要求を処理できません。
402 支払いが必要です. このコードは現在有効ではなく、将来の使用のために予約されています。将来リソースにアクセスする前に料金を支払う必要があることを示している可能性があります。
HTTP エラー 403 禁止。 クライアントには要求されたリソースにアクセスするための十分な権限がありません。
404お探しのページが見つかりませんでした。 要求されたリソースはサーバー上に存在しません。これは最も一般的なユーザー エラーの 1 つです。
405メソッドが許可されていないサーバーはこのリソースで指定されたリクエストメソッドをサポートしていません。「Allow」ヘッダーはリソースで許可されているメソッドを示します。このコードでは、
406 受け入れられません。 サーバーは、クライアントが受け入れ可能な形式でデータを提供できません。
407 プロキシ認証が必要です要求されたリソースにアクセスするには、プロキシ サーバーでの認証が必要です。
408 リクエストタイムアウトサーバーはクライアントからのリクエストの受信を待機していましたが、タイムアウトになりました。「Retry-After」ヘッダーは、リクエストを再試行できるまでの時間を示す場合があります。
409 競合。 現在のリソース状態との競合のため、要求を完了できません。
410·ゴーン要求されたリソースは以前は存在していましたが、現在は削除されており、復元は期待できません。
411 長さが必要ですサーバーはリクエスト内でコンテンツの長さを指定することを要求します。この情報がない場合、エラーと見なされます。
412 前提条件が失敗しましたリクエスト内の前提条件が満たされていないため、リクエストを実行できません。
413 ペイロードが大きすぎますリクエストデータのサイズがサーバーの制限を超えています。
414 URI が長すぎますリクエスト内の URI の長さが許容範囲を超えています。
415サポートされていないメディアタイプサーバーはリクエストで指定されたデータ型を処理できません。
416 範囲が満たされない要求された範囲が現在のサーバー データと一致しない HTTP エラー。
417 期待に応えられなかった「Expect」ヘッダー内の期待条件が満たされませんでした。
418 私はティーポットですこのコードはジョークとして含まれており、ユーザーやサーバーに実際のアクションを意味するものではなく、本格的なエラーでもありません。サーバーがティーポットであり、コーヒーを作ることができないことを示しています。
421 誤ったリクエストリクエストまたはサーバー構成にエラーがあるため、サーバーはリクエストを処理しません。
422処理できないエンティティサーバーはリクエストを理解しましたが、データ エラーのため処理しません。
423 ロックされました。 リソースがブロックされており、処理できません。
424 依存関係に失敗しましたリクエストは別の未実行のリクエストに依存しています。
425 早すぎます。 リクエストが早く到着したため、サーバーはリクエストを処理する準備ができていません。
426 アップグレードが必要ですサーバーは、要求を処理するために、より高度なプロトコルを使用する必要があります。
428 前提条件が必要サーバーは、リクエスト内で特定の前提条件を指定する必要があります。
429リクエストが多すぎますクライアントが短時間に多数のリクエストを送信したため、サーバーの制限を超えました。
431 リクエスト ヘッダー フィールドが大きすぎますリクエスト ヘッダーが最大許容サイズを超えています。
449 再試行します。 要求は現在のサーバーでは実行できないが、別のサーバーでは正常に処理できるため、クライアントは新しい URI を使用して要求を再試行する必要があることを示します。
451 法的理由により利用不可法的な理由により、リソースは利用できません。
499 クライアントがリクエストをクローズしましたサーバーは要求を受信しましたが、処理が完了する前にクライアントによって接続が閉じられました。
HTTP 5xx エラー (サーバー エラー)
HTTP 5xx エラー コードはサーバーの問題を示します。これらのコードはサーバー側で問題が発生し、サーバーがユーザーのリクエストを正しく処理できないことを示します。詳しく見てみましょう。
HTTP エラー 500 内部サーバー エラーサーバーは、リクエストの完了を妨げる予期しない状況に遭遇します。「Server」ヘッダーは、エラーが発生したサーバーを示す場合があります。
501実装されていませんサーバーはクライアントの要求を処理するために必要な機能をサポートしていません。「Via」ヘッダーは、エラーが発生したプロキシ サーバーを示している可能性があります。
502不正なゲートウェイこのコードは、プロキシとして機能するサーバーが別のサーバーから誤った応答を受信したことを意味します。
HTTP エラー 503サービスは利用できませんサーバーは一時的にリクエストを処理できません。
504ゲートウェイのタイムアウトプロキシとして機能するサーバーが、別のサーバーから適切なタイミングで応答を受信しませんでした。
505 HTTPバージョンはサポートされていませんサーバーは、リクエストで指定された HTTP プロトコル バージョンをサポートしていません。バックアップ オプションとして、"Upgrade" ヘッダーにサポートされているプロトコルを示すことができます。
506バリアントも交渉このステータスは HTTP/1.1 では使用されませんが、サーバーがコンテンツ ネゴシエーションの曖昧さをもたらす内部構成を検出した場合、この応答が使用されることがあります。
507 ストレージ不足サーバーのストレージ容量が不足しているため、サーバーは要求を満たすことができません。
508 ループが検出されましたサーバーはリクエストの処理中にループを検出し、無限ループを回避するためにリクエストの完了を拒否します。
509 帯域幅制限を超えましたこのエラーは、リクエストやトラフィックの量が多いためにサーバーの帯域幅を超えた場合に発生します。
510 延長されていませんリクエストを続行するには、クライアントは追加の拡張機能を転送する必要があります。
511 ネットワーク認証が必要ですクライアントは、ネットワークにアクセスするために自身を認証する必要があります。
ページステータスコードを確認する方法
このセクションでは、ページ ステータス コードを確認するための主な 3 つの方法 (コマンド ライン、Web ブラウザー、独立したオンライン サービスの使用) について説明します。これらの方法にはそれぞれ独自の利点があり、さまざまな状況で役立ちます。
コマンドライン経由でサーバーの応答を確認する
コマンドラインを使用すると、Web ブラウザを使用せずにページのステータス コードを簡単に確認できます。この方法では、コマンドラインを開いて次のコマンドを使用する必要があります。
curl -I http://page-address
このコマンドは、指定された URL に HEAD リクエスト (ヘッダーのみのリクエスト) を送信し、HTTP ステータス コードを含む情報を表示します。
上記の例は、成功した応答コードを示しています。404 Not Found HTTP エラーなどのエラー コードを含む応答の場合、結果は次のようになります。
ブラウザコンソール経由でサーバーの応答を確認する
Web ブラウザの開発者コンソールには、ページ ステータス コードの確認など、さまざまな操作を実行するためのツールが用意されています。サーバー応答の HTTP コードを確認するには、使用しているブラウザに応じて開発者コンソール (Ctrl+Shift+K) または (Ctrl+shift+J) を開く必要があります。次に、「ネットワーク」セクションを選択し、目的のページを読み込みます。
独立したツールを使用してサーバーの応答を確認する
ウェブサイトのページのステータスコードを確認するツールを提供する独立したオンラインサービスは数多くあります。これらのサービスでは通常、リソースの可用性とパフォーマンスの概要をすばやく確認できます。これらはすべて同じ原理で動作します。例として、最も人気のあるリソースを考えてみましょう。 翻訳元
まず、サービス自体を開き、答えを知りたいページのアドレスを入力して、検証をリクエストする必要があります。
結果はページの下部に表示されます。
結論
結論として、HTTP エラー コードを理解し、読み取ることができることは、Web 開発やサーバー メンテナンスに携わるすべての人にとって重要なスキルであることを強調しておきます。各エラーを理解し、エラーを検出するためのツールを調べると、これらの Web サービスの側面を効果的に管理することが非常に重要である理由がわかります。