diff --git a/fetch.bs b/fetch.bs index a6afc985f..27304cbe0 100644 --- a/fetch.bs +++ b/fetch.bs @@ -218,13 +218,6 @@ number.

HTTP(S) scheme and fetch scheme are also used by HTML. [[HTML]] -


- -

A response URL is a URL for which implementations need not -store the fragment as it is never exposed. When -serialized, exclude fragment is set to -true, meaning implementations can store the fragment nonetheless. -

HTTP

@@ -1849,15 +1842,15 @@ end-user.

A response has an associated URL. It is a pointer to the last -response URL in response's URL list and null if -response's URL list is the empty list. +URL in response's URL list and null if +response's URL list is empty.

A response has an associated URL list (a list of zero or -more response URLs). Unless stated otherwise, it is the empty list. +more URLs). Unless stated otherwise, it is the empty list. -

Except for the last response URL, if any, a -response's URL list cannot be exposed to script. That would violate +

Except for the last URL, if any, a response's +URL list is not exposed to script as that would violate atomic HTTP redirect handling.

A response has an associated @@ -2037,8 +2030,9 @@ not a fresh response or a stale-while-revalidate response.


-

The location URL algorithm of -given a response response is the following steps. They return null, failure, +

The location URL of a +response response, given null or an ASCII string +requestFragment, is the value returned by the following steps. They return null, failure, or a URL.

    @@ -2058,6 +2052,13 @@ or a URL. response's URL will be null, meaning that location will only parse successfully if it is an absolute-URL-with-fragment string. +
  1. +

    If locationURL's fragment is null, then set locationURL's + fragment to requestFragment. + +

    This ensures that synthetic (indeed, all) responses follow the processing model for + redirects defined by HTTP. [[HTTP-SEMANTICS]] +

  2. Return location.

@@ -3965,7 +3966,8 @@ run these steps: filtered response, and response's internal response otherwise. -
  • Let locationURL be actualResponse's location URL. +

  • Let locationURL be actualResponse's location URL + given request's current URL's fragment.

  • If locationURL is null, then return response.