数字だけで原因を決めない。HTTPステータスコード

HTTPステータスコードは、サーバーがリクエストの結果を3桁の数字で伝える合図です。

サポート窓口とのチャット
サポート窓口

お客様から「サイトが500エラーで開けない」とお電話がありました。

Tatoediaの読者モブ
あなた

500……? こっちの操作が何か悪かったんでしょうか。

Tatoediaの案内役
案内役

500番台なら、サーバーの側で起きているトラブルだよ。まずは担当者にサーバーのログを見てもらおう。

障害の連絡でよく見る「404」や「500」。この3桁の数字が、HTTPステータスコードです。

HTTPステータスコードは、HTTPのリクエストに対してサーバーが返す、結果を表す3桁の数字です。宅配便の伝票に押される「配達完了」「あて先不明」「転送中」のスタンプのように、サーバーはレスポンスの中身と一緒に、結果をひと目で伝える数字を返します。

百の位でどちら側の話かが分かる

番台ざっくりした意味最初に見るところ
200番台成功した中身が本当に期待どおりか
300番台別の場所へ回された転送先のURL(リダイレクト)
400番台依頼の側に問題があるURLの打ち間違い、権限、入力内容
500番台サーバーの側でトラブルが起きたサーバーのログ

有名な404は「そのURLにページが見つからない」という意味です。サイトが壊れたとは限らず、URLの入力ミスであることも多い数字です。301や302は、引っ越し先のURLへ自動で転送するときに使われます。

数字は結果の分類で、原因の診断ではない

スタンプが「配達完了」でも、届いた箱の中身が注文どおりとは限りません。200が返っていても、キャッシュされた古い内容が返ってきている場合があります。表示や動作がおかしいときは、数字と一緒に実際の中身も確認します。

500番台が続くときは、ブラウザ側でできることはほとんどありません。サーバー側のログを見られる担当者へ、発生時刻とURLを添えて伝えるのが近道です。

作る側の注意も一つ。リダイレクト(300番台)を何段も重ねると、そのぶん表示が遅くなります。転送は必要な分だけにしましょう。