HTTP/1.1
The most widely deployed HTTP version. Text-based protocol with persistent connections and chunked transfer encoding. Still used for CDN-to-origin connections, but largely replaced by HTTP/2 for client-facing traffic.
Full Explanation
HTTP/1.1 has been the workhorse of the web since 1997. It introduced persistent connections (keep-alive), chunked transfer encoding, and the Host header that enabled virtual hosting. Most of the web still works on HTTP/1.1 under the hood.
The main limitation: one request at a time per connection. Browsers work around this by opening 6-8 parallel connections per domain, which wastes resources and adds latency from repeated TCP/TLS handshakes. That's why HTTP/2 multiplexing was such a big deal.
For CDN operations, HTTP/1.1 is still common between CDN edge and origin servers. Many origins don't support HTTP/2, and the single-connection limitation matters less on low-latency backend links. Some CDNs even prefer HTTP/1.1 to origin because it's simpler to debug and proxy.
Examples
# HTTP/1.1 request/response
GET /style.css HTTP/1.1
Host: cdn.example.com
Connection: keep-alive
Accept-Encoding: gzip, br
HTTP/1.1 200 OK
Content-Type: text/css
Content-Encoding: br
Cache-Control: public, max-age=31536000
Connection: keep-alive
# Force HTTP/1.1 with curl
$ curl --http1.1 -I https://cdn.example.com/
HTTP/1.1 200 OK
# Nginx: force HTTP/1.1 to upstream
proxy_http_version 1.1;
proxy_set_header Connection "";
Video Explanation
Frequently Asked Questions
The most widely deployed HTTP version. Text-based protocol with persistent connections and chunked transfer encoding. Still used for CDN-to-origin connections, but largely replaced by HTTP/2 for client-facing traffic.
# HTTP/1.1 request/response
GET /style.css HTTP/1.1
Host: cdn.example.com
Connection: keep-alive
Accept-Encoding: gzip, br
HTTP/1.1 200 OK
Content-Type: text/css
Content-Encoding: br
Cache-Control: public, max-age=31536000
Connection: keep-alive
# Force HTTP/1.1 with curl
$ curl --http1.1 -I https://cdn.example.com/
HTTP/1.1 200 OK
# Nginx: force HTTP/1.1 to upstream
proxy_http_version 1.1;
proxy_set_header Connection "";
Related CDN concepts include:
- HTTP/2 — Major revision of HTTP that adds multiplexing (multiple requests over one connection), header compression (HPACK), …
- HTTP/3 — The latest HTTP version, built on QUIC instead of TCP. Eliminates TCP head-of-line blocking, enables …
- Keep-Alive — Reusing a TCP connection for multiple HTTP requests instead of opening a new one each …
- TCP (TCP) — Transmission Control Protocol. The reliable, ordered, connection-oriented transport protocol underneath HTTP/1.1 and HTTP/2. TCP's three-way …