HTTPQUERY
日本語

508 Loop Detected

WebDAV に固有の用法

508 Loop Detected ステータスコードは、クライアントがディレクトリ全体に対する WebDAV リクエストを送信し、その結果が同じツリー内にターゲットを生成する場合に発生します。これは Depth: Infinity による無限のリクエスト/レスポンスのループを生み、サーバーは操作全体を打ち切ります。

cPanel / CloudLinux に固有の用法

508 Resource Limit Is Reached ステータスコードは、CloudLinux を伴う cPanel を実行している共有ホスティング環境で、アカウントのリソース制限のいずれかを超えた場合に生成されます。リソース制限の例としては、CPU 使用率、物理メモリ、I/O スループット、同時プロセス数(entry processes)があります。

SEO への影響

検索エンジンは 508 を他の 5xx サーバーエラーと同じように扱います。障害が継続するとクロール頻度が低下し、最終的に該当する URL がインデックスから削除されます。

例

WebDAV のクライアントが再帰的なディレクトリ一覧を要求します。サーバーはコレクションの階層内にバインディングのループを検出し、リクエストを打ち切ります。

リクエスト

PROPFIND /shared/ HTTP/1.1
Host: example.com
Depth: infinity
Content-Type: application/xml

レスポンス

HTTP/1.1 508 Loop Detected
Content-Type: text/html; charset=UTF-8
Content-Length: 174

<html>
  <head>
    <title>Loop Detected</title>
  </head>
  <body>
    <p>The server detected an infinite loop
    while processing the directory tree.</p>
  </body>
</html>

対処方法

WebDAV の場合(508 Loop Detected):

Depth: infinity を伴う PROPFIND が循環バインディングに行き当たりました。コレクションが親または自身への参照を含んでいる状態です。

cPanel / CloudLinux の場合(508 Resource Limit Is Reached):

ホスティングのアカウントが、CPU、メモリ、I/O、entry process 数のいずれかのリソース制限を超えました。

コードリファレンス

.NET

HttpStatusCode.LoopDetected

Rust

http::StatusCode::LOOP_DETECTED

Rails

:loop_detected

Go

http.StatusLoopDetected

Symfony

Response::HTTP_LOOP_DETECTED

Python3.5+

http.HTTPStatus.LOOP_DETECTED

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_LOOP_DETECTED

Angular

@angular/common/http/HttpStatusCode.LoopDetected