@@ -3390,13 +3390,25 @@ requests, in order to quickly initiate a fallback HTTP fetch.
33903390request to <code> http://a.com</code> will be upgraded to <code> https://a.com</code> , but the fetch
33913391will fail. A fallback request will be initiated to <code> http://a.com</code> .
33923392
3393- <p id=example-https-upgrade-allowlist class=example><code> site.test</code> serves
3394- <code> http://site.test</code> but refuses connections on <code> https://site.test</code> . Upon
3395- first request and fallback to <code> http://site.test</code> , the user agent stores the hostname
3396- in an allowlist with an expiration time of 7 days. In a future request, if <code> site.test</code>
3397- is still in this allowlist, the user agent will not upgrade <code> http://site.test</code> to
3398- <code> https://site.test</code> . The user agent will also set the new expiration time of the
3399- allowlist entry for <code> site.test</code> to 7 days from now.
3393+ <p id=example-https-upgrade-allowlist class=example><code> a.com</code> serves
3394+ <code> http://a.com</code> but refuses connections on <code> https://a.com</code> . Upon
3395+ first request and fallback to <code> http://a.com</code> , the user agent stores the hostname
3396+ in an allowlist with an expiration time of 7 days. In a future request, if <code> a.com</code>
3397+ is still in this allowlist, the user agent will not upgrade <code> http://a.com</code> to
3398+ <code> https://a.com</code> . The user agent will also set the new expiration time of the
3399+ allowlist entry for <code> a.com</code> to 7 days from now.
3400+
3401+ <p id=example-https-upgrade-ports class=example><code> a.com</code> serves
3402+ <code> http://a.com:8080</code> . When a site is served from a non-default HTTP port, it's unlikely
3403+ that the corresponding HTTPS URL is served from the default port either. Therefore, the user agent
3404+ doesn't upgrade requests to <code> http://a.com:8080.</code>
3405+
3406+ <p id=example-https-upgrade-redirect-loop class=example><code> a.com</code> serves
3407+ <code> http://a.com</code> and <code> https://a.com</code> . The latter redirects to the former.
3408+ An eligible request to <code> http://a.com</code> will be upgraded to
3409+ <code> https://a.com</code> and will be redirected back to <code> http://a.com</code> .
3410+ The user agent will detect this as a redirect loop, treat it as a failed upgrade and initiate a
3411+ fallback navigation to <code> http://a.com</code> .
34003412
34013413
34023414
@@ -4586,8 +4598,6 @@ steps:
45864598
45874599 <li><p> <a>Upgrade <var>request</var> to a potentially trustworthy URL, if appropriate</a> .
45884600
4589- <li><p> Optionally, run <a>upgrade an HTTP request</a> algorithm on <var> request</var> .
4590-
45914601 <li><p> <a>Upgrade a mixed content <var>request</var> to a potentially trustworthy URL, if appropriate</a> .
45924602
45934603 <li><p> If <a lt="block bad port">should <var>request</var> be blocked due to a bad port</a> ,
@@ -4635,6 +4645,8 @@ steps:
46354645 in the fetch algorithm and potentially unwind logic on discovering the need to change
46364646 <var> request</var> 's <a for=request>current URL</a>' s <a for=url>scheme</a> .
46374647
4648+ <li><p> Optionally, run <a>upgrade an HTTP request</a> algorithm on <var> request</var> .
4649+
46384650 <li><p> If <var> recursive</var> is false, then run the remaining steps <a>in parallel</a> .
46394651
46404652 <li>
0 commit comments