HTTPステータスコード(HTTP Status Code)

HTTPステータスコード(HTTP Status Code)とは、ウェブサーバーが要求に対してどう応じたかを、三桁の数字で返す返事のことです。ページを開くたびに必ずやり取りされており、うまくいったのか、失敗したのか、理由はどこにあるのかを短く伝えています。

現実世界に例えると、ステータスコードは窓口から返ってくる短い返答のようなものです。「承りました」「その書類はこちらではありません」「担当が席を外しています」。ひと言で状況を伝えるための決まり文句です。

最初の一桁で意味が分かれる

区分 意味 内容
100番台 情報 処理を続けている途中である
200番台 成功 要求どおりに処理できた
300番台 転送 別の場所を見に行く必要がある
400番台 要求側の誤り 頼み方や権限に問題がある
500番台 提供側の誤り サーバー側で不具合が起きた

主なステータスコードの一覧

実務でよく見かける代表的なコードをまとめました。ここに載っていないコードも数多く存在します。

コード 名称 意味
200 OK 正常に処理できた
201 Created 新しいデータが作成された
204 No Content 処理は成功したが、返す内容がない
301 Moved Permanently 恒久的に別の場所へ移転した
302 Found 一時的に別の場所へ移転した
304 Not Modified 前回から変更がなく、保存済みの内容が使える
400 Bad Request リクエストの形式に誤りがある
401 Unauthorized 認証が必要
403 Forbidden アクセスする権限がない
404 Not Found ページが見つからない
405 Method Not Allowed 許可されていない操作方法で要求した
429 Too Many Requests 短時間に要求が集中しすぎている
500 Internal Server Error サーバー内部で不具合が起きた
502 Bad Gateway 中継先から不正な応答が返ってきた
503 Service Unavailable 混雑や保守で一時的に利用できない
504 Gateway Timeout 中継先からの応答が時間内に届かなかった

400番台と500番台の切り分け

トラブルの際にまず見るべきは、この二つの違いです。400番台であれば要求した側、500番台であればサーバー側に原因があります。どちらを調べればよいかが最初の数字だけで分かるため、原因究明の出発点になります。

よく見かける200と404

200は「うまくいった」という返事で、普段ページが表示されているときは必ずこれが返っています。404は「そのページが見つからない」という意味で、住所を打ち間違えたときや、ページが削除された後に表示されます。

301と302の使い分け

どちらもページの移転を示しますが、意味が異なります。301は引っ越しが恒久的であることを、302は一時的であることを表します。検索エンジンの扱いも変わるため、サイトの移転では301を使うのが基本です。

403は「あるけれど見せられない」

404が「存在しない」であるのに対し、403はページ自体はあるものの、閲覧する権限が無いという意味です。設定の誤りで意図せず403になっていることもあり、公開したはずのページが見られない原因として、よく調べられます。

500番台が出たときは

500はサーバー内部で何らかの不具合が起きたこと、503は混雑や保守で一時的に応じられないことを示します。利用者側でできることは限られるため、時間を置いて試すか、管理者に知らせることになります。

普段は目に触れない

ステータスコードは、正常なときには画面に出てきません。私たちが目にするのは、たいてい問題が起きたときだけです。そのため数字に悪い印象を持たれがちですが、成功を伝える返事も同じ仕組みで送られています。

サイト運営でも見る数字

ウェブサイトを運営していると、検索エンジンの管理画面で404や500が報告されることがあります。リンク切れや不具合を知らせる手がかりになるため、定期的に確認しておくと、訪問者が困る前に手を打てます。

404ページを用意しておく

見つからないページに行き着いたとき、そっけない画面が出るだけでは訪問者は戻る先を失います。目的の場所へ案内する内容を用意しておくと、そのまま離れてしまうことを防げます

あわせて知っておきたい用語

  • HTTP
    ウェブでデータをやり取りするための取り決めです。
  • リダイレクト
    別のページへ自動的に転送する仕組みです。
  • キャッシュ
    一度取得した内容を保存し、再利用する仕組みです。
  • Webサーバー
    要求に応じてページを送り出す側の仕組みです。

コメント

タイトルとURLをコピーしました