HTTP 503 Service Unavailable
一時的に停止中: サーバーは稼働していますが、過負荷またはメンテナンス中で、現在リクエストを受け付けられません。
HTTP 503 の意味
HTTP 503 Service Unavailable は、丁寧なダウンタイムシグナルです: サーバーは存在し正常に動作していますが、過負荷、メンテナンス、または利用不可のアップストリーム依存先のため、一時的にトラフィックを拒否しています。Retry-After ヘッダーは、クライアントにいつ戻ってくるべきかを伝えます。
503 は 500 とは意図的に異なります: 何も壊れておらず、単に今は容量がないだけです。この区別こそ、クローラーや API クライアントがどう反応すべきかを判断するために使うものです。
503 エラーのよくある原因
- 計画的なメンテナンスモードです(多くのプラットフォームはデプロイ中に 503 を返します)。
- ワーカー、接続、またはオートスケーリングの上限を使い果たすトラフィックの急増です。
- 依存先(データベース、キャッシュ)が再起動しており、アプリがリクエストを拒否しています。
- DDoS 対策や接続数制限が負荷を遮断しています。
- Web ホストが、プランの上限を超えたサイトを一時停止またはスロットリングしています。
訪問者としての対処法
- 待ってから再試行してください — 503 は定義上一時的なものです。
- サイトのステータスページやソーシャルアカウントでメンテナンスの告知を確認してください。
サイト所有者としての対処法
- メンテナンス期間中は、現実的な見積もりとともに Retry-After を送信してください。
- 容量の問題を解決してください: ワーカー/インスタンスをスケールし、キャッシュを追加し、コストの高い処理をキューに入れてください。
- オーケストレーターが不安定に動作しないよう、ヘルスチェックで「起動中」と「停止」を区別してください。
- メンテナンスの 503 は短く保ってください — 可能であれば、完全に停止するのではなく、キャッシュされたページを配信してください。
レスポンス例
HTTP/1.1 503 Service Unavailable Retry-After: 120 Content-Type: text/html <html><body><h1>Down for maintenance, back in 2 minutes</h1></body></html>
SEO への影響
503 は SEO 的に安全なダウン方法です: Googlebot は「一時的に利用不可」を理解し、後で再試行し、あなたのページのインデックスを維持します。ダウンタイム中にメンテナンスページを 200(重複コンテンツ)や 404/410(デインデックス!)で配信することが、サイトが意図せずランキングを失う典型的な原因です。
よくある質問
メンテナンスページは 503 を返すべきですか?
はい、Retry-After ヘッダーを添えて。これはクローラーに、その障害が一時的であることを伝え、検索ランキングを保護します。
サイトは安全にどれくらいの期間 503 を返し続けられますか?
数週間ではなく数日です。Google はおおよそ 1〜2 週間を超えて続く 503 を、サイトが消滅したかもしれない兆候とみなし、URL の削除を開始します。
500 と 503 の違いは何ですか?
500 は処理中にサーバーが失敗したことを意味し、503 は過負荷またはメンテナンス中であるために意図的に拒否したことを意味します。