503エラー 【HTTP 503 Service Unavailable】
概要
503エラー(HTTP 503 Service Unavailable)とは、Webサーバで起きるエラーの種類の一つで、Webサーバが過負荷などで機能が停止し、要求を処理できないことを示すもの。WebサーバとWebブラウザなどのクライアントの間ではHTTP(Hypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示すHTTPステータスコードを通知する。
ステータスコードの500番台はサーバ側で生じたエラーを表しており、503番のエラーメッセージは “Service Unavailable” (サービス停止)である。サーバが何らかの理由で機能を停止しており、クライアントの要求に答えられないことを表す。一時的な停止の場合に使用すべきコードであるとされ、そのことを明示するため “Service Temporarily Unavailable” (Temporarily:一時的に)というメッセージを返すサーバもある。
503エラーは、サーバの性能や容量を大きく超える大量のアクセス要求が殺到して機能不全に陥っている場合や、メンテナンスなどで一時的に機能を停止している状態、転送量などが制限値を超えてしまい、それ以上データを送信できない場合などに返される。
この状態に陥ったサーバはどのURLへの要求も503エラーとなり、原因事象が解消されない限りどの資源にもアクセスすることができない。サーバが完全に停止しているわけではなく、サーバ上のハードウェアやソフトウェアは機能を維持しており、原因が取り除かれれば速やかにサービスが再開される。
計画的なメンテナンスなどの場合には、サービス再開の予定日時を「Retry-After:」HTTPヘッダで通知する場合もある。過負荷により繰り返し503エラー状態に陥ってしまう場合にはサービスの需要に対してサーバの性能が不十分であるため、性能や台数の増強、キャッシュやCDNの活用による負荷の軽減など恒久的な対策が必要となる。
関連用語
HTTPのステータスコード
▼ HTTP 1.0
2xx:Success (成功) | ||
---|---|---|
200 | OK | 成功 |
201 | Created | 作成完了 |
202 | Accepted | 受理 |
204 | No Content | 内容が空 |
3xx:Redirection (転送) | ||
301 | Moved Permanently | 恒久的に移転 |
302 | Moved Temporarily | 一時的に移転 |
304 | Not Modified | 変更なし |
4xx:Client Error (クライアントエラー) | ||
400 | Bad Request | 不正なリクエスト |
401 | Unauthorized | 未認証 |
403 | Forbidden | アクセス権がない |
404 | Not Found | 存在しない |
5xx:Server Error (サーバエラー) | ||
500 | Internal Server Error | サーバ内部のエラー |
501 | Not Implemented | 機能が未実装 |
502 | Bad Gateway | 中継サーバのエラー |
503 | Service Unavailable | サービス停止中 |
▼ HTTP 1.1
1xx:Informational (情報) | ||
---|---|---|
100 | Continue | 継続 |
101 | Switching Protocols | プロトコル切替 |
2xx:Success (成功) | ||
200 | OK | 成功 |
201 | Created | 作成完了 |
202 | Accepted | 受理 |
203 | Non-Authoritative Information | 非公式な情報 |
204 | No Content | 表示を変えなくて良い |
205 | Reset Content | 表示を初期化せよ |
206 | Partial Content | 内容の一部を送る |
3xx:Redirection (転送) | ||
300 | Multiple Choices | 複数の候補がある |
301 | Moved Permanently | 恒久的に移転 |
302 | Found | 別の場所で見つけた |
303 | See Other | 別の場所を探せ |
304 | Not Modified | 変更なし |
305 | Use Proxy | 中継サーバを通せ |
307 | Temporary Redirect | 一時的な転送 |
4xx:Client Error (クライアントエラー) | ||
400 | Bad Request | 不正なリクエスト |
401 | Unauthorized | 未認証 |
402 | Payment Required | 有料である |
403 | Forbidden | アクセス権がない |
404 | Not Found | 存在しない |
405 | Method Not Allowed | そのメソッドは不可 |
406 | Not Acceptable | 受理不可 |
407 | Proxy Authentication Required | プロキシの認証が必要 |
408 | Request Time-out | 時間切れ |
409 | Conflict | 競合 |
410 | Gone | 消滅した |
411 | Length Required | 長さを指定せよ |
412 | Precondition Failed | 前提条件不整合 |
413 | Payload Too Large | 送信データが長すぎる |
414 | URI Too Large | URIが長すぎる |
415 | Unsupported Media Type | データ形式非対応 |
5xx:Server Error (サーバエラー) | ||
500 | Internal Server Error | サーバ内部のエラー |
501 | Not Implemented | その機能はない |
502 | Bad Gateway | 中継サーバのエラー |
503 | Service Unavailable | サービス停止中 |
504 | Gateway Time-out | 中継サーバの要求が時間切れ |
505 | HTTP Version Not Supported | HTTPバージョンが非対応 |