511 Network Authentication Required
使い方
511 Network Authentication Required ステータスコードは、ネットワークへのアクセスが許可される前にログインするよう HTTP クライアントに伝えます。キャプティブポータルの例としては、宿泊客に非公開の Wi-Fi サービスへのアクセスを許可するホテルのポータルがあります。
511 Network Authentication Required ステータスコードは、そのレスポンスがオリジンサーバーからではなく、認証を要求するネットワークのゲートキーパーから来ていることを HTTP クライアントに伝えます。
SEO への影響
検索エンジンは 511 を他の 5xx サーバーエラーと同じように扱います。障害が継続するとクロール頻度が低下し、最終的に該当する URL がインデックスから削除されます。
例
HTTP クライアントがリソースを要求し、通常のネットワークアクセスが許可される前にクライアントがまず認証を行う必要があるため、サーバーは 511 Network Authentication Required ステータスコードで応答します。
リクエスト
GET / HTTP/1.1
Host: example.com
レスポンス
HTTP/1.1 511 Network Authentication Required
Content-Type: text/html; charset=UTF-8
Content-Length: 218
<html>
<head>
<title>Network Authentication Required</title>
</head>
<body>
<p>Before accessing this service,
<a href="https://login.example.re/">sign in
</a> to the network.</p>
</body>
</html>
対処方法
インターネットへのアクセスを許可する前に、ネットワークが認証を要求しています。キャプティブポータルが HTTP のトラフィックを傍受し、ログインが完了するまで 511 を返しています。
エンドユーザー向け:
自動化されたクライアントやアプリケーション向け:
511 を配信するネットワーク運用者向け:
コードリファレンス
.NET
HttpStatusCode.NetworkAuthenticationRequired
Rust
http::StatusCode::NETWORK_AUTHENTICATION_REQUIRED
Rails
:network_authentication_required
Go
http.StatusNetworkAuthenticationRequired
Symfony
Response::HTTP_NETWORK_AUTHENTICATION_REQUIRED
Python3.5+
http.HTTPStatus.NETWORK_AUTHENTICATION_REQUIRED
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_NETWORK_AUTHENTICATION_REQUIRED
Angular
@angular/common/http/HttpStatusCode.NetworkAuthenticationRequired