すべての開発者は、HTTPステータスコードの精神的なショートリストを保持します 私のものは、以前は200、404、および500 であり、長い間、それは能力を偽るのに十分でした それから私は1 週間かけて、APIが402 を返した支払い統合を構築しました 拒否されたカード、409 はすでに通過した電荷を再試行したとき、そして429 は私のテストが速すぎるときに、突然コードの違いは、動作中の機能とサポートチケットの違いのためのWebツールをたくさん構築します Toolz.dev、そして検索可能なステータスコードリファレンスは、私が常に手を伸ばすものの1つであるため、サイトに構築し、それに合わせてこのガイドを書きました。
tl;dr: HTTPステータスコードは、サーバーがリクエストの結果を記述するために送り返す3 桁の数字です 最初の桁は、クラスを設定します: 1xx informational、2xx success、3xx redirection、4xx client error、5xx server errorでそれらのいずれかを即座に調べます HTTP Status Codes ツール、番号、名前、またはキーワードで検索でき、それぞれを定義する RFC を引用します。
このガイドは、ステータス コードとは何か、各クラスの意味、覚えておく価値のある特定のコード、そして最も頻繁に間違われるコードについて説明します。これは、API 呼び出しをデバッグするフロントエンド開発者、何を返すかを決定するバックエンド開発者、および動作するためにリダイレクトが必要なテクニカル SEO を行う人を対象としています。
HTTPステータスコードとは何ですか?
ブラウザやアプリがウェブ上で何かをリクエストするたびに、サーバーはレスポンスで応答します。その応答の最初の行にはステータス コードが含まれています。 3 桁の数字と、"OK" または "Not Found" のような短い理由フレーズがペアになっています。コードは何が起こったのかを機械で読める要約であり、理由フレーズは人間に優しいラベルです。クライアントは数字に基づいて行動します。; このフレーズはログを読んでいる人向けです。
ステータス コードは、主にインターネット エンジニアリング タスク フォースによって、2022 年に古い HTTP 仕様を統合した RFC 9110 で定義されています。IANA が管理する中央レジストリには、公式に認められたすべてのコードがリストされています。その標準化により、ある企業が作成したブラウザが別の企業が作成したサーバーと通信し、404 の意味について合意できるようになります HTTP Status Codes ツール そのレジストリを反映し、すべての標準コードとその意味、およびそれを定義する RFC をリストします。
重要なメンタルモデルは、最初の桁がカテゴリーを示し、カテゴリーが誰の責任かを教えてくれるというものです。 4xx コードはクライアントが間違ったものを送信したことを意味します。 5xx コードは、サーバーが問題のないリクエストで失敗したことを意味します。その 1 つの区別により、誰のバグであるかについてのほとんどのデバッグ引数が解決されます。
5 つのステータスコードクラスは何を意味するのでしょうか?
先頭の桁でグループ化された ちょうど5つのクラスがあります クラスを理解することは 個々のコードを覚えるよりも価値があります どこを見ればいいか分かるからです。
1xx クラスは情報です これらのコードはサーバーがリクエストを受信し処理が継続することを知らせます 日常業務では稀です 最もよく知られているのは100 Continueで 最も便利な最新のものは103 Early Hintsで サーバーはブラウザーにフルレスポンスの準備が整う前に リソースのプリロードを開始するように指示します。
2xxクラスは成功を意味します リクエストは受信され、理解され、受け入れられました 200 OKは日常の成功コードです、 201 作成された新しいリソースが作られたことを確認します、そして 204 いいえコンテンツは言います " 完了、何も送り返す" これは削除操作に一般的です。
3xx クラスはリダイレクトです。リソースは別の場所に住んでいるか、クライアントが最後に見たときから変わっていません。このクラスは SEO が住んでいる場所です。301 と 302 は検索エンジンに移動が永続的であるかどうかを伝えるためです。 304 Not Modified は、膨大な帯域幅を節約するキャッシュ ワークホースです。
4xxクラスはクライアントエラーです リクエストは不正な形式だったか、不正だったか、存在しないものを指さしていました 400、401、403、404、429 はすべてここに住んでいます 4xxが表示されたら、サーバーを非難する前に送信されたコードを確認してください。
5xx クラスはサーバー エラーです。リクエストは有効でしたが、サーバーはそれを満たすことができませんでした。 500、502、503、および 504 は、運用インシデントで遭遇するもので、通常はクラッシュ、サービスの過負荷、または上流の依存関係の破損を指します。
すべての開発者が知っておくべきHTTPステータスコードはどれですか?
頭の中に 60 以上のコードをすべて必要としているわけではありません。おそらく 15 個必要です。残りは調べてください。これが、それらを引き起こす状況により、記憶の中で永続的な地位を獲得すると思われる作業セットです。
| コード | 意味 | 見たとき |
|---|---|---|
| 200 | OK | 通常の成功したリクエスト |
| 平成23年 | 作成 | POST または PUT は新しいリソースを作成しました |
| 204 にご案内しております | コンテンツなし | 空のボディで成功、DELETE の後に一般的です |
| 三〇一 | 永久に移動 | 良いために移動されたURL; SEOランキング転送 |
| 302 に準拠して作成されています | 見つかり | 一時的なリダイレクト; 古い URL を使い続けてください |
| 304 に記載しております | 変更されていません | キャッシュされたコピーはまだ有効です; 送信されるボディはありません |
| 400 に設定されています | Bad Request | 不正な構文または無効なリクエスト フレーミング |
| 四〇一 | 無許可 | 認証が欠落しているか失敗しました |
| 403 に指定されている | 禁じ | 認証済みですが許可されていません |
| 404 に記載しております | 見つかりません | リソースが存在しません |
| 409 に指定されています | 紛争 | 要求は現在の状態と衝突します |
| 422 に指定されている | 処理不可能なコンテンツ | 有効な構文、失敗した検証ルール |
| 429 に指定されています | リクエストが多すぎます | レート限定;バックオフして再試行します |
| 500 に所蔵されています | 内部サーバーエラー | 予期しないサーバ障害 |
| 503 に所蔵されています | サービスが利用できません | サーバーが過負荷またはメンテナンス中です |
The rest of the registry, from 226 IM Used to 451 Unavailable For Legal Reasons, is worth recognising but not memorising.レジストリの残りの部分、226 IM使用済みから451 使用できない法的理由、認識の価値があるが、記憶しない。それはまさにルックアップツールの目的です。
401と403 の違いは何ですか?
このペアはほとんどすべての人をトリップするので、独自のセクションに値します。どちらもアクセスが拒否されたことを意味しますが、理由は異なり、違いはアプリの応答方法を変えます。
401 Unauthorized は、リクエストに有効な認証がないことを意味します。サーバーはあなたが誰であるかを知りません。あなたが資格情報を送信しなかったか、送信した資格情報が間違っていたか期限切れでした。あなたの側からの正しい応答は、ログインするかトークンを更新することです。仕様上、401 レスポンスには、クライアントに認証方法を伝える WWW-Authenticate ヘッダーを含める必要があります。
403 Forbidden は、サーバーがあなたが誰であるかを正確に知っており、とにかく拒否していることを意味します。あなたは認証されていますが、この特定のリソースについては許可されていません。問題は ID ではなく権限であるため、再度ログインしても役に立ちません。管理者のみのエンドポイントを押さえている通常のユーザーは 403 を取得する必要があります。
私が使うクイックルールは、401 は " who are you?" 、403 は " I know who you are 、no" です。 API を構築していて、これらのフローをテストするための Authorization ヘッダーを生成したい場合は、 Basic Auth Generator 必要なエンコードされた資格情報を生成します。
SEO にとって 301 リダイレクトと 302 リダイレクトが重要なのはなぜですか?
リダイレクトは、ステータスコードが内部実装の詳細ではなくなり、検索ランキングに影響を与え始める場所です。ページを移動すると、返されるステータスコードは、古いURL'sの蓄積された権限をどのように処理するかを検索エンジンに指示します。
301 Moved Permanently は、その移動が最終的なものであることを通知します 検索エンジンは、時間の経過とともにインデックスから古い URL をドロップし、ランキング信号を新しい URL に渡し、リンクを更新します。これは、ページの名前を変更したり、HTTPS に移行したり、重複した URL を統合したりするときに必要なコードです。これを正しく使用することは、技術的な SEO 監査で最も一般的な修正の 1 つです。
302 Found は一時的な移動を知らせます。 「変更は永続的ではない」と伝えたため、検索エンジンは元の URL をインデックス付けしたままにします。 「永続的ではない移動に 302 を使用すると、もう使用していない URL にランキングを座礁させることができます。 HTTPS 移行中にフレームワークがデフォルトで 302 リダイレクトになったため、サイトが数か月間可視性を失うのを見てきました。
また、307 Temporary Redirect と 308 Permanent Redirect もあり、302 と 301 のように動作しますが、HTTP メソッドと body が保持されることを保証します。 307 と 308 を使用して、メソッドを変更すると壊れてしまう非 GET リクエストを使用します。クローラーがサイトをどのように見ているかを監査している場合は、この知識を とペアリングします Robots.txt ジェネレーター そして、 メタ タグ ジェネレーター クロール全体とリダイレクトの画像が一貫していることを確認するには。 the Web 開発者ツールキット ガイドはこれらのピースを結び付けます。
最も一般的なサーバーエラーコードは何ですか?また、それらをデバッグするにはどうすればよいですか?
5xx クラスは生産インシデントが存在する場所であり、各コードはスタックの異なるレイヤーを指します。どちらが停止中のリアルタイムの節約になるかを知ることができます。
500 内部サーバーエラーは一般的なキャッチオールです。アプリケーションコードが処理されていない例外を投げたり、処理できなかった条件にぶつかったりすることを意味します。修正はほとんど常に独自のログにあります。 500 は、サーバーが " と言っていることです。何かが壊れて、私はそれに対してこれ以上の言葉を持っていません。 " だから、コードはどこを見るべきかを示しますが、何が問題だったのかは示しません。
502 Bad Gateway と 504 Gateway Timeout はどちらも、アプリの前のロード バランサーやリバース プロキシなど、ゲートウェイまたはプロキシとして機能するサーバーから送信されます。 502 は、アプリケーションがクラッシュしたり実行されていないことが原因で、無効なものを送り返す上流を意味します。 504 は、アップストリームが応答に時間がかかりすぎてゲートウェイが待機をあきらめたことを意味します。 Nginx、CDN、またはクラウド ロード バランサーの背後で実行すると、プロキシの背後に不健全であることが表示されるコードです。
503 Service Unavailable は、通常、過負荷またはメンテナンス中のため、サーバーが一時的にリクエストを処理できないことを意味します 適切に動作する503 レスポンスには、クライアントにいつ戻ってくるかを伝えるRetry-Afterヘッダーが含まれます 計画されたメンテナンス中に503 を送信することは、サイトを短時間ダウンさせる正しいSEOセーフな方法です ページがなくなったと仮定するのではなく、後で戻ってくるように検索エンジンに指示するため、Web問題の診断をより広範に見るために、 開発者の生産性向上ツール ガイドでは、より広範なツールキットについて説明します。
あまり一般的ではないステータス コードはどうでしょうか?
作業セットを超えて、レジストリには時々会うコードの長い尾が保持されており、それらを認識することで混乱した 30 分が節約されます。いくつかは簡単なツアーの価値があります。
2xx ファミリでは、206 Partial Content が再開可能なダウンロードとビデオ ストリーミングを強化します。クライアントがファイルのバイト 500 ~ 999 を求める Range ヘッダーを送信すると、サーバーはそのスライスだけで 206 に応答します。これは、一時停止されたダウンロードが最初からやり直すのではなく再開する方法であり、ブラウザが最初に全体をフェッチせずにビデオの真ん中を目指す方法です。
4xxファミリでは、410 Goneは404 のより強力で、より意図的なバージョンです.404 が" と言うところ私はそれ" を見つけることができませんでした, 410 は" それはここにいました, それは永久に消えています, asking" を停止します.410 あなたが意図的に削除したコンテンツのために使用すると、検索エンジンは、404 よりも速くそれをドロップするのに役立ちます.451 は、法的理由のために利用できません, その数は、小説華氏451 へのうなずきです, コンテンツが削除または裁判所の差止命令などの法的命令によってブロックされたときに返されます。
また、418 I& #39; m a Teapot、コーヒーを淹れるように頼まれたときにティーポットが戻ってくるという1998 年のエイプリルフール仕様書からの実際の登録コード。通常のトラフィックには使用されませんが、一部の API ではイースターエッグとして表示され、これらの標準を作成した人々がユーモアのセンスを持っていたことを少し思い出させるツールには、これらすべてがリストされているため、偶然見つけたものは推測することなく調べることができます。
HTTP Status Codesツールはどのように役立ちますか?
このツールは意図的に単純です。ジョブが単純であるため、コードまたは症状があり、意味を迅速に求めることができます。数字、"not found" などの理由フレーズ、または "redirect" または "rate limit" などの説明からのキーワードによって検索できます。単一のクラスにフィルタリングして、リダイレクトまたはサーバー エラーのみを参照できます。各エントリには、理由フレーズ、コードが適用されるときのわかりやすい説明、およびそれを定義する RFC が表示されるため、プライマリ ソースに対する動作を確認できます。
レジストリ全体がブラウザにロードされるため、ページが開くと検索は即座にオフラインで機能します 検索するものはどこにも送信されません これは、APIを構築する際にタブにピン留めしておく参照の種類で、すぐ隣にあります ユーザーエージェントパーサー リクエストヘッダーの検査に.
よくある質問
HTTPステータスコードの5 つのクラスは何ですか?
HTTPステータスコードは、最初の桁:1xx情報、2xx成功、3xxリダイレクト、4xxクライアントエラー、5xxサーバーエラーでグループ化されています。 classは、クライアント側またはサーバー側でリクエストが成功したか、リダイレクトされたか、または失敗したかを一目で教えてくれます。これは通常、デバッグを開始する場所を知るのに十分です。
404 ステータスコードとはどういう意味ですか?
404 Not Found は、サーバーが要求されたリソースを見つけられなかったことを意味します。 URL のスペルが間違っているか、ページが削除されているか、リンクが壊れている可能性があります。クライアントエラーコードであるため、リクエストはサーバーに到達しましたが、そこに存在しないものを指しました。
301 と 302 リダイレクトの違いは何ですか?
301 Moved Permanently は、クライアントと検索エンジンにリソースが永久に動いたことを通知するため、クライアントはリンクを更新し、ランキング シグナルを新しい URL に転送します。 302 Found は一時的なリダイレクトであるため、元の URL は将来のリクエストに使用され続け、検索エンジンはインデックスが付けられ続けます。
500 Internal Server Errorとはどういう意味ですか?
500 Internal Server Error は、サーバーが処理できない予期しない状態に陥ったことを意味する一般的なメッセージです。リクエストではなくサーバー上の問題を通知するため、修正は通常アプリケーション コードまたは構成にあり、独自のサーバー ログを確認する場所です。
API はいつ 400 対 422 を返す必要がありますか?
Return 400 Bad Request when the request itself is malformed, such as invalid JSON or missing required header. return 422 処理不能 構文が有効であるが、データがビジネスまたは検証ルールに失敗した場合のコンテンツ (既に取得されている電子メールや範囲外の値など)。
429 Too Many Requestsコードとは何ですか?
A 429 Too Many Requests は、クライアントが短時間で送信したリクエストが多すぎて、レートが制限されていることを意味します。応答には、クライアントに再試行する前にどれくらいの時間待つべきかを伝える Retry-After ヘッダーが含まれることが多く、行儀の良いクライアントは指数関数的なバックオフでそれを尊重します。
HTTP ステータスコードリファレンスは自由に使用できますか?
はい。このツールはサインアップも制限もなく完全に無料であり、リスト全体がブラウザで実行されるため、ページが読み込まれるとオフラインで動作します。検索したものはサーバーに送信されないため、デバッグ中に安全かつ迅速に使用できます。



