-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
Step 21 mentions
Resource handling: If the resource's out-of-band metadata (e.g. HTTP headers), not counting any type information (such as the Content-Type HTTP header), requires some sort of processing that will not affect the browsing context, then perform that processing and abort these steps.
Note: Such processing might be triggered by, amongst other things, the following:
- HTTP status codes (e.g. 204 No Content or 205 Reset Content)
- Network errors (e.g. the network interface being unavailable)
- Cryptographic protocol failures (e.g. an incorrect TLS certificate)
and it goes on to explain how downloads should be handled.
I think we should be clearer here with an exhaustive list of what sorts of responses the spec requires the user agent to abort the navigation with.
Additionally, not all of these are handled the same way. 204 and 205 should require the user agent to not navigate (and not unload the current page). Downloads probably should require the same. On the other hand, network or crypto errors can leave navigation up to the user agent (most user agents navigate to an error page).
Currently we don't seem to require anything here. For javascript: links to work, 204 needs to be handled without navigation, which isn't mandated by the spec at all.