Go 1.27 introduces substantial improvements in HTTP/1 connection reuse. Benchmarks show that a series of 100 HTTP/1 GET requests, which took approximately 710 milliseconds on Go 1.26, now complete in about 150 milliseconds on Go 1.27. This represents nearly a five-fold increase in speed for this type of operation.
Establishing a new HTTP connection involves several network round trips (RTTs). A typical setup for an HTTPS request includes a 1 RTT TCP handshake and a 2 RTT TLS handshake (for TLS 1.2), totaling 3 RTTs before the HTTP request can even be sent. These RTTs, along with CPU time for TLS handshakes, contribute significantly to latency, especially in cross-region communications where RTTs can exceed 100 ms.
Even under favorable conditions, such as connections to globally distributed services supporting TLS 1.3 (which can complete TLS handshakes in 1 RTT), the overhead of opening new connections remains noticeable. The performance gains in Go 1.27 highlight the importance of minimizing this setup cost for applications making numerous HTTP requests.
To mitigate the expenses of connection setup, HTTP clients and servers aim to reuse existing connections for multiple requests. The mechanics of how connections are reused vary depending on the HTTP version being utilized.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Go 1.27 significantly improves HTTP/1 connection reuse, leading to nearly five times faster performance for repeated HTTP/1 requests compared to Go 1.26. This enhancement reduces the overhead of establishing new TCP and TLS connections for each request, which are costly in terms of round-trip time.