何が起きたのか?
500 は「サーバーの中で何か予期しない問題が起き、これ以上は答えられない」というサインです。 教室で言えば、先生が黒板に書こうとしたチョークが折れて、何も書けなくなってしまった——そんな状態に近いかもしれません。
クライアント(あなたのブラウザやアプリ)に非はなく、サーバー側で「想定していなかった事態」が起きています。原因はサーバーログを見ないとわからない、というのが 500 の難しさです。
黒板からのひとこと
授業中、先生が突然黙り込むことがあります。「ちょっと待ってね」と言いながら何かを思い出そうとしている。生徒からは何が起きているか見えませんが、先生の頭の中では何かが詰まっているのです。
500 はそれと似ています。サーバーは「答えられません」とだけ伝え、その理由は外側からは見えません。原因はログという「先生のメモ」の中にあります。
解決への歩み
大丈夫、次はこうしてみよう:
- 時間を置いてリトライ:一時的なエラーかもしれない。まずもう一度
- 別のページや機能を試す:サイト全体が落ちているのか、特定の機能だけかを切り分ける
- 状況を管理者に伝える:いつ・どこで・何をしたら出たか。スクリーンショットがあれば最強
- サーバーログを調査(管理者向け):直近のデプロイ差分、外部サービスのステータス、エラーログのスタックトレースを順に確認
実際にはこう見える
$ リクエスト
curl -i https://example.com/some/path ↓ レスポンス
HTTP/1.1 500 Internal Server Error
Content-Type: text/html; charset=utf-8
<!DOCTYPE html>
<html><body><h1>500 Internal Server Error</h1></body></html>