503エラー 【HTTP 503 Service Unavailable】

概要

503エラー(HTTP 503 Service Unavailable)とは、Webサーバで起きるエラーの種類の一つで、Webサーバが過負荷などで機能が停止し、要求を処理できないことを示すもの。

WebサーバとWebブラウザなどのクライアントの間ではHTTPHypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示すHTTPステータスコードを通知する。

ステータスコードの500番台はサーバ側で生じたエラーを表しており、503番のエラーメッセージは “Service Unavailable” (サービス停止)である。サーバが何らかの理由で機能を停止しており、クライアントの要求に答えられないことを表す。一時的な停止の場合に使用すべきコードであるとされ、そのことを明示するため “Service Temporarily Unavailable” (Temporarily:一時的に)というメッセージを返すサーバもある。

503エラーは、サーバの性能や容量を大きく超える大量のアクセス要求が殺到して機能不全に陥っている場合や、メンテナンスなどで一時的に機能を停止している状態、転送量などが制限値を超えてしまい、それ以上データを送信できない場合などに返される。

この状態に陥ったサーバはどのURLへの要求も503エラーとなり、原因事象が解消されない限りどの資源にもアクセスすることができない。サーバが完全に停止しているわけではなく、サーバ上のハードウェアやソフトウェアは機能を維持しており、原因が取り除かれれば速やかにサービスが再開される。

計画的なメンテナンスなどの場合には、サービス再開の予定日時を「Retry-After:」HTTPヘッダで通知する場合もある。過負荷により繰り返し503エラー状態に陥ってしまう場合にはサービスの需要に対してサーバの性能が不十分であるため、性能や台数の増強、キャッシュやCDNの活用による負荷の軽減など恒久的な対策が必要となる。

(2023.12.2更新)

HTTPのステータスコード

▼ HTTP 1.0

2xx:Success (成功)
200OK成功
201Created作成完了
202Accepted受理
204No Content内容が空
3xx:Redirection (転送)
301Moved Permanently恒久的に移転
302Moved Temporarily一時的に移転
304Not Modified変更なし
4xx:Client Error (クライアントエラー)
400Bad Request不正なリクエスト
401Unauthorized未認証
403Forbiddenアクセス権がない
404Not Found存在しない
5xx:Server Error (サーバエラー)
500Internal Server Errorサーバ内部のエラー
501Not Implemented機能が未実装
502Bad Gateway中継サーバのエラー
503Service Unavailableサービス停止中
* HTTP 1.0では100番代は未割当

▼ HTTP 1.1

1xx:Informational (情報)
100Continue継続
101Switching Protocolsプロトコル切替
2xx:Success (成功)
200OK成功
201Created作成完了
202Accepted受理
203Non-Authoritative Information非公式な情報
204No Content表示を変えなくて良い
205Reset Content表示を初期化せよ
206Partial Content内容の一部を送る
3xx:Redirection (転送)
300Multiple Choices複数の候補がある
301Moved Permanently恒久的に移転
302Found別の場所で見つけた
303See Other別の場所を探せ
304Not Modified変更なし
305Use Proxy中継サーバを通せ
307Temporary Redirect一時的な転送
4xx:Client Error (クライアントエラー)
400Bad Request不正なリクエスト
401Unauthorized未認証
402Payment Required有料である
403Forbiddenアクセス権がない
404Not Found存在しない
405Method Not Allowedそのメソッドは不可
406Not Acceptable受理不可
407Proxy Authentication Requiredプロキシの認証が必要
408Request Time-out時間切れ
409Conflict競合
410Gone消滅した
411Length Required長さを指定せよ
412Precondition Failed前提条件不整合
413Payload Too Large送信データが長すぎる
414URI Too LargeURIが長すぎる
415Unsupported Media Typeデータ形式非対応
5xx:Server Error (サーバエラー)
500Internal Server Errorサーバ内部のエラー
501Not Implementedその機能はない
502Bad Gateway中継サーバのエラー
503Service Unavailableサービス停止中
504Gateway Time-out中継サーバの要求が時間切れ
505HTTP Version Not SupportedHTTPバージョンが非対応