Early hint and QUIC session

211 views
Skip to first unread message

Debin Zhang

unread,
Dec 4, 2024, 3:52:08 PM12/4/24
to Chromium-dev
Chromium checks the "Alt-svc" header in an HTTP response, such as alt-svc: h3=":443"; ma=86400, to detect if the server supports HTTP3. If yes, the subsequent URL_request will trigger a QUIC session setup. This means the earliest URL_request that can use a QUIC session is the third URL_request. (Chromium can also use the DNS server's dns-alpn-h3 response to detect the web server's HTTP3 support. But let's ignore that case for now). To speed up the QUIC session setup, I hope Chromium can determine the web server's HTTP3 support by checking the 103 Early Hint response header, suppose the 103 Early Hint response contains the alt-svc header.  However, it looks like the current Chromium code does not support this. The code that handles Early Hint responses and processes the HTTP3 Alt-svc header is in HttpNetworkTransaction::DoReadHeadersComplete(). This function processes the Early Hint response first here, then returns here, before hitting the code that processes the HTTP3 Alt-svc header here. So even if the 103 Early Hint response header contains the alt-svc header, it won't help the browser to set up a QUIC session sooner. 
Can anyone tell me why Chromium only checks the alt-svc header in the 200 responses; while ignoring the 103 Early Hint responses?

Thanks
Debin

Ryan Hamilton

unread,
Dec 4, 2024, 9:16:26 PM12/4/24
to debin...@gmail.com, Chromium-dev
I think it works the way it does because when the code was written, there were never alt-svc headers in 103 responses, so the code never needed to handle it. That being said, honoring the header in earl hints sounds plausible. If you'd like to send a CL, I'd be happy to review it.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/134534e2-7021-4634-86ca-73dd41a224d7n%40chromium.org.

Mark Gunn

unread,
Dec 5, 2024, 9:02:22 AM12/5/24
to debin...@gmail.com, Chromium-dev

Go in my history and Oct 30 is when they breached my mortgage company undery system we need to catch him how do I turn this over to the FBI ? Help me I scarec


--

Mark Gunn

unread,
Dec 9, 2024, 12:09:17 PM12/9/24
to r...@chromium.org, debin...@gmail.com, Chromium-dev

I'm going to give up on this. I don't know what I'm doing and I get upset because of it all I wanted was to find the info on my my hacker to get him arrested and this isn't doing it for me good bye all and thanks


Debin Zhang

unread,
Jan 7, 2025, 2:58:55 PMJan 7
to Chromium-dev, Ryan Hamilton, Chromium-dev, debin...@gmail.com
Hi Ryan, 

I've created a CL to process Alt-svc headers in 103 Early Hints responses: https://chromium-review.googlesource.com/c/chromium/src/+/6149141

I tested this feature against timex.com using WebPageTest (WPT). The attached CDF chart shows the Largest Contentful Paint (LCP) times comparing current Chrome (baseline) vs. with Early Hints HTTP/3 support enabled. Each line represents 9 test runs. The results show improvement in LCP times with the feature enabled. 

The WPT waterfall charts demonstrate earlier QUIC session establishment: 
- Baseline: QUIC session is not available until the 53rd URL request 
- With Early Hints: QUIC session established by the 19th URL request, reducing latency for subsequent requests 

This improvement should benefit some sites that support http3 and serve Alt-svc headers in their Early Hints responses. 

Let me know if you need any additional information. 

Thanks, 
Debin
with_early_hint_h3_support_waterfall.png
baseline_waterfall.png
baseline_vs_Early_hint_h3_cdf.png
Reply all
Reply to author
Forward
0 new messages