103 Early Hints
The HTTP 103 status code means a server is sending HTTP headers that are likely to be included in the final response.
The most practical example of this is the server sending Link
HTTP headers. Servers can inform clients beforehand that they will likely need the following resources, so clients can start downloading them right away.
HTTP/2 103 Early Hints
Link: </tailbreeze.css>; rel=preload; as=style
Link: </voodoo.js>; rel=preload; as=script
Servers can send one or more 103 Early Hints
responses:
HTTP/2 103 Early Hints
Link: </tailbreeze.js>; rel=preload; as=script
Link
headers only serve as hints: the server might or might not include those headers in a final response.
HTTP/2 200 OK
Content-Length: 4242
Link: </voodoo.js>; rel=preload; as=script
Link: </tailbreeze.css>; rel=preload; as=style
Link: </tailbreeze.js>; rel=preload; as=script
Link: </tailstorm.js>; rel=preload; as=script
Link
HTTP header serves the same purpose as the <link>
HTML tag - informing clients to pre-emptively fetch resources. HTTP headers can be used in contexts where HTML can’t, such as stylesheets, scripts, and web fonts. Despite that, the <link>
tag is used more often.
<link rel="preload" href="https://example.com/voodoo.js" as="script">
Support
103 Early Hints
is an experimental status code, so the support among browsers, HTTP libraries, and web servers is very limited.
Chrome has started an experiment to learn the effectiveness of Early Hints.