--- title: Network Error Logging slug: Web/HTTP/Network_Error_Logging tags: - Guide - HTTP - Network Error Logging - Reference translation_of: Web/HTTP/Network_Error_Logging ---
ネットワークエラーロギングは、HTTP の {{HTTPHeader("NEL")}} レスポンスヘッダーを使って設定できるメカニズムです。この実験的なヘッダーにより、ウェブサイトやアプリケーションは、対応しているブラウザーから、失敗した (必要であれば成功した) ネットワーク読み取りに関するレポートを受け取ることを選択することができます。
レポートは、 {{HTTPHeader("Report-To")}} ヘッダーで定義された報告グループに送信されます。
ウェブアプリケーションは、 JSON エンコードされたオブジェクトである NEL ヘッダーを使って、この動作を選択します。
NEL: { "report_to": "nel", "max_age": 31556952 }
ブラウザーから安全と認識されたオリジンが必要です。
以下のオブジェクトキーが NEL ヘッダーで指定されています。
ネットワークエラーレポートの送信先となる Reporting API グループです。
上記のレポートグループは、 {{HTTPHeader("Report-To")}} ヘッダー内で通常の方法で定義されます。例えば下記のようになります。
Report-To: { "group": "nel", "max_age": 31556952, "endpoints": [ { "url": "https://example.com/csp-reports" } ] }
これらの例では、Reporting API のペイロード全体を示しています。最上位の "body"
キーには、ネットワークエラーレポートが含まれています。
{ "age": 20, "type": "network-error", "url": "https://example.com/previous-page", "body": { "elapsed_time": 338, "method": "POST", "phase": "application", "protocol": "http/1.1", "referrer": "https://example.com/previous-page", "sampling_fraction": 1, "server_ip": "137.205.28.66", "status_code": 400, "type": "http.error", "url": "https://example.com/bad-request" } }
なお、このレポートではフェーズが dns
に設定されており、含めることのできる server_ip
はありません。
{ "age": 20, "type": "network-error", "url": "https://example.com/previous-page", "body": { "elapsed_time": 18, "method": "POST", "phase": "dns", "protocol": "http/1.1", "referrer": "https://example.com/previous-page", "sampling_fraction": 1, "server_ip": "", "status_code": 0, "type": "dns.name_not_resolved", "url": "https://example-host.com/" } }
ネットワークエラーの種類は、仕様で定義された以下の値のいずれかですが、ブラウザは独自のエラー種別を追加して送信することができます。
dns.unreachable
dns.name_not_resolved
dns.failed
dns.address_changed
dns.address_changed
に設定されます。tcp.timed_out
tcp.closed
tcp.reset
tcp.refused
tcp.aborted
tcp.address_invalid
tcp.address_unreachable
tcp.failed
http.error
http.protocol.error
http.response.invalid
http.response.redirect_loop
http.failed
仕様書 |
---|
Network Error Logging |
{{Compat("http.headers.NEL")}}