diff --git a/index.html b/index.html index 3306be3..463e941 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ github: "https://github.com/w3c/network-error-logging/", shortname: "network-error-logging", specStatus: "ED", - xref: ["network-reporting", "fetch", "hr-time", "html", "referrer-policy", "reporting", "resource-timing", "secure-contexts", "url"], + xref: ["network-reporting", "fetch", "hr-time", "html", "referrer-policy", "reporting", "resource-timing", "secure-contexts", "url"], editors: [{ name: "Douglas Creager", url: "https://dcreager.net/", @@ -117,7 +117,8 @@

Network requests

A network request occurs when the - user agent must use the network to service a single request. + user agent must use the network to service a single + request.

@@ -160,7 +161,8 @@

Network requests

  • DNS resolution: The user agent uses the Domain Name System [[RFC1034]] to resolve a domain name into an IP address of a - server can that service HTTP requests to that domain. + server can that service + HTTP requests to that domain.
  • @@ -179,11 +181,12 @@

    Network requests

    The only mandatory phase is the transmission of request and response; the other phases might not be needed for every - network request. For instance, DNS results can be cached locally + network request. For instance, DNS results can be cached locally in the user agent, eliminating DNS resolution for future requests - to the same domain. Similarly, HTTP persistent connections allow - open connections to be shared for multiple requests to the same - origin. However, if multiple phases occur, they will occur + to the same domain. Similarly, HTTP + persistent connections + allow open connections to be shared for multiple requests to the same + origin. However, if multiple phases occur, they will occur in the above order.

    @@ -196,7 +199,8 @@

    Network requests

    A network request is successful if the user agent is able to receive a valid HTTP response from the server, and that response does - not have a 4xx or 5xx status code. + not have a 4xx or + 5xx status code.

    @@ -285,10 +289,11 @@

    Network error reports

    NEL policies

    - A NEL policy instructs a - user agent whether to collect reports about network requests to an - origin, and if so, where to send them. NEL policies are - delivered to the user agent via HTTP response headers. + A NEL policy + instructs a user agent whether to collect reports about + network requests to an origin, and if so, where to send them. + NEL policies are delivered to the user agent via HTTP + response headers.

    @@ -333,14 +338,14 @@

    NEL policies

    A NEL policy is stale if the duration from its - creation to the current wall time is greater than 172800 - seconds (48 hours). + creation to the [=wall clock=]'s [=wall clock/unsafe current time=] + is greater than 172800 seconds (48 hours).

    A NEL policy is expired if the duration from its - creation to the current wall time is greater than its - ttl (in seconds). + creation to the [=wall clock=]'s [=wall clock/unsafe current time=] + is greater than its ttl (in seconds).

    @@ -479,10 +484,10 @@

    The include_subdomains member

    The OPTIONAL include_subdomains member is a boolean that enables this NEL policy for all subdomains of this - origin (to an unlimited subdomain depth). If no member named - include_subdomains is present in the object, or its value - is not true, the NEL policy will not be enabled - for subdomains. + origin (to an unlimited subdomain depth). If no member named + include_subdomains is present in the object, or its value + is not true, the NEL policy will not be enabled + for subdomains.

    @@ -690,7 +695,7 @@

    Process policy headers

    the value of item's max_age member
    creation
    -
    the current wall time
    +
    the [=wall clock=]'s [=wall clock/unsafe current time=]
    successful sampling rate
    @@ -708,7 +713,7 @@

    Process policy headers

  • If there is already an entry in the policy cache for - (key, origin), replace it with + (key, origin), replace it with policy; otherwise, insert policy into the policy cache for (key, origin).
  • @@ -808,7 +813,7 @@

    Extract request headers

  • - For each header in request's + For each header in request's [=request/header list=] whose name is header name, append header's value to @@ -862,7 +867,7 @@

    Extract response headers

  • - For each header in response's + For each header in response's [=response/header list=] whose name is header name, append header's value to @@ -1007,7 +1012,9 @@

    Extract response headers

    method
    -
    request's request method.
    +
    request's + request method. +
    request_headers
    @@ -1023,8 +1030,8 @@

    Extract response headers

    status_code
    - The status code of the HTTP response, if available. - Otherwise, 0. + The status code of the HTTP + response, if available. Otherwise, 0.
  • @@ -1373,12 +1380,12 @@

    Sample Network Error Reports

    This report indicates that the user agent attempted to navigate from example.com to www.example.com, which successfully resolved to 2001:DB8::42. However, while - the user agent received a 200 response from the server via the - HTTP/2 (h2) protocol, it encountered a protocol error in - the exchange and was forced to abandon the navigation. The user agent - aborted the navigation 823 milliseconds after it started. Finally, the - user agent sent this report immediately after the network error was - encountered – i.e. the report age is 0. + the user agent received a 200 response + from the server via the HTTP/2 (h2) protocol, it + encountered a protocol error in the exchange and was forced to abandon + the navigation. The user agent aborted the navigation 823 milliseconds + after it started. Finally, the user agent sent this report immediately + after the network error was encountered – i.e. the report age is 0.

    @@ -1481,12 +1488,14 @@ 

    Monitoring cache validation

    In this example, the owner of example.com uses - ETag response headers to identify different versions - of the resources hosted on the server. User agents can then use - If-None-Match request headers to inform the server - which version of a resource is presently cached client-side, allowing - the server to avoid generating and sending the content of the resource - if the client's existing copy is up to date. + ETag response + headers to identify different versions of the resources hosted on the + server. User agents can then use + If-None-Match + request headers to inform the server which version of a resource is + presently cached client-side, allowing the server to avoid generating + and sending the content of the resource if the client's existing copy is + up to date.

    @@ -1893,7 +1902,7 @@

    Privacy Considerations

    NEL report only contains information available from DNS itself. This prevents servers from abusing NEL to collect more information about their users than they already have access to. Note that NEL reports will - include a web site's public IP address in the report body's + include a web site's public IP address in the [=report/body|report body=]'s server_ip field, which may not always be known to the service which generates the NEL header, for example if it is behind a load balancer or other transparent MitM proxy.