diff --git a/index b/index index 4fdab2265a0..1072136c960 100644 --- a/index +++ b/index @@ -34510,10 +34510,23 @@ style/default.css -
If the previous steps fails (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.
If the previous steps fails (e.g. the server returns a 4xx or + 5xx response or equivalent, or there is a DNS error, or the + connection times out, or the user cancels the download), or if + the server returned a redirect, then run the cache failure + steps.
+ +Redirects are fatal because they are either + indicative of a network problem (e.g. a captive portal); or + would allow resources to be added to the cache under URLs that + differ from any URL that the networking model will allow access + to, leaving orphan entries; or would allow resources to be + stored under URLs different than their true URLs. All of these + situations are bad.
+ +Otherwise, the fetching succeeded. Store the resource in the new cache.
If any of these downloads fail (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.
+If any of these downloads fail (e.g. the connection times out, + or the user cancels the download), then run the cache + failure steps.
@@ -34803,12 +34817,15 @@ style/default.css the application cache whose <path> component is a prefix match for the resource's URL's <path> component, then: -Fetch the resource normally. If this results 4xx - or 5xx status codes or equivalent, or if there were network errors - (but not if the user canceled the download), then instead get, - from the cache, the resource of the fallback entry - corresponding to the namespace with the longest matching <path> component. Abort these - steps.
+Fetch the resource normally. If this results in a + redirect to a resource with another origin + (indicative of a captive portal), or a 4xx or 5xx status code or + equivalent, or if there were network errors (but not if the user + canceled the download), then instead get, from the cache, the + resource of the fallback + entry corresponding to the namespace with the longest + matching <path> + component. Abort these steps.
@@ -34972,9 +34989,9 @@ style/default.cssFetch the resource referenced by url.
If this results 4xx or 5xx status codes or equivalent, or if - there were network errors, or if the user canceled the download, - then abort these steps.
If this results in a redirect, or a 4xx or 5xx status code + or equivalent, or if there were network errors, or if the user + canceled the download, then abort these steps.
Let candidate be the fallback resource specified for the fallback namespace in diff --git a/source b/source index 4b1c8b61152..811689d99c9 100644 --- a/source +++ b/source @@ -39191,10 +39191,23 @@ style/default.css
If the previous steps fails (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.
If the previous steps fails (e.g. the server returns a 4xx or + 5xx response or equivalent, or there is a DNS error, or the + connection times out, or the user cancels the download), or if + the server returned a redirect, then run the cache failure + steps.
+ +Redirects are fatal because they are either + indicative of a network problem (e.g. a captive portal); or + would allow resources to be added to the cache under URLs that + differ from any URL that the networking model will allow access + to, leaving orphan entries; or would allow resources to be + stored under URLs different than their true URLs. All of these + situations are bad.
+ +Otherwise, the fetching succeeded. Store the resource in the new cache.
If any of these downloads fail (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.
+If any of these downloads fail (e.g. the connection times out, + or the user cancels the download), then run the cache + failure steps.
@@ -39540,14 +39554,15 @@ style/default.css a prefix match for the resource's URL's <path> component, then: -Fetch the resource normally. If this results 4xx - or 5xx status codes or equivalent, or if there were network errors - (but not if the user canceled the download), then instead get, - from the cache, the resource of the fallback entry - corresponding to the namespace with the longest matching <path> component. Abort these - steps.
+Fetch the resource normally. If this results in a + redirect to a resource with another origin + (indicative of a captive portal), or a 4xx or 5xx status code or + equivalent, or if there were network errors (but not if the user + canceled the download), then instead get, from the cache, the + resource of the fallback + entry corresponding to the namespace with the longest + matching <path> + component. Abort these steps.
@@ -39733,9 +39748,9 @@ style/default.cssFetch the resource referenced by url.
If this results 4xx or 5xx status codes or equivalent, or if - there were network errors, or if the user canceled the download, - then abort these steps.
If this results in a redirect, or a 4xx or 5xx status code + or equivalent, or if there were network errors, or if the user + canceled the download, then abort these steps.
Let candidate be the fallback resource