Why Critical-CH Triggers a Connection Restart
The hint request mechanism normally takes effect from the second request onward. A companion header changes that, at a cost that should be understood before using it.
The problem is the first response
A server that needs a hint to produce a correct response cannot get it on the first request, because the request for hints travels in a response. The first response is produced blind.
For most sites this is fine: serve a reasonable default and use hints from then on. For some it is not, because the default response would be wrong rather than merely generic.
An example is a page whose entire layout depends on a value the low-entropy set does not carry. Serving the wrong layout and correcting later is worse than a retry.
Marking a hint critical forces a retry
Listing a hint in the critical header tells the browser that the response it just received was produced without information the server considers essential.
The browser discards the response and reissues the request with the hint included. The server then produces the response it would have produced had it known.
The mechanism only applies to hints the server has also requested normally. Criticality is an annotation on an existing request, not a separate one.
The cost is a connection restart
The retry is not a cheap replay. Because hints influence the request, the browser restarts the connection rather than reusing established state.
On a slow or high-latency link that restart is perceptible. It arrives at the worst moment, before anything has rendered.
The cost falls on the first visit and on any visit after site data is cleared, which makes it recurring for a meaningful share of traffic.
Overuse defeats the purpose
Marking hints critical because they are convenient converts every cold visit into two connections. The benefit accrues only where the alternative response is genuinely unusable.
A reasonable test is whether the site would rather serve nothing than serve the default. If the default is merely suboptimal, the hint is not critical.
Progressive approaches usually beat this. Serving a workable page immediately and refining once hints arrive avoids the restart entirely.
Where it earns its cost
Download pages selecting a platform-specific installer are the clearest legitimate case. Serving the wrong binary is a real failure, not a degraded experience.
Certain accessibility and preference hints also qualify, where rendering the wrong variant first and correcting it produces a visible disruption for the user affected.
Outside cases like these, the header is usually a symptom of a design that could branch later. Moving the decision is generally cheaper than paying for the restart.