{
    "title": "HTTP/2 and HTTP/3",
    "seo_title": "HTTP/2 and HTTP/3: definition, differences and setup",
    "h1": "HTTP/2 and HTTP/3",
    "description": "HTTP/2 and HTTP/3: multiplexing, header compression, QUIC and UDP, what changes compared with HTTP/1.1 and how to enable them for WordPress.",
    "lead": "HTTP/2 and HTTP/3 are the recent versions of the web's protocol. HTTP/2 carries many requests in parallel over a single TCP connection, as binary frames with compressed headers; HTTP/3 keeps that principle but runs on QUIC, over UDP, so that a lost packet only delays its own stream.",
    "language": "en",
    "locale": "en-US",
    "type": "definition",
    "url": "https://www.wp-masquerade.com/glossary/http2-http3/",
    "canonical": "https://www.wp-masquerade.com/glossary/http2-http3/",
    "markdown": "https://www.wp-masquerade.com/glossary/http2-http3/index.md",
    "json": "https://www.wp-masquerade.com/glossary/http2-http3/index.json",
    "published": "2026-10-28T08:00:00+00:00",
    "modified": "2026-10-28T20:05:41+00:00",
    "site": {
        "name": "WP Masquerade",
        "url": "https://www.wp-masquerade.com/"
    },
    "translations": [
        {
            "language": "en",
            "hreflang": "en-US",
            "title": "HTTP/2 and HTTP/3",
            "url": "https://www.wp-masquerade.com/glossary/http2-http3/",
            "markdown": "https://www.wp-masquerade.com/glossary/http2-http3/index.md",
            "json": "https://www.wp-masquerade.com/glossary/http2-http3/index.json"
        },
        {
            "language": "fr",
            "hreflang": "fr-FR",
            "title": "HTTP/2 et HTTP/3",
            "url": "https://www.wp-masquerade.com/fr/definitions/http2-http3/",
            "markdown": "https://www.wp-masquerade.com/fr/definitions/http2-http3/index.md",
            "json": "https://www.wp-masquerade.com/fr/definitions/http2-http3/index.json"
        },
        {
            "language": "es",
            "hreflang": "es-ES",
            "title": "HTTP/2 y HTTP/3",
            "url": "https://www.wp-masquerade.com/es/glosario/http2-http3/",
            "markdown": "https://www.wp-masquerade.com/es/glosario/http2-http3/index.md",
            "json": "https://www.wp-masquerade.com/es/glosario/http2-http3/index.json"
        },
        {
            "language": "de",
            "hreflang": "de-DE",
            "title": "HTTP/2 und HTTP/3",
            "url": "https://www.wp-masquerade.com/de/glossar/http2-http3/",
            "markdown": "https://www.wp-masquerade.com/de/glossar/http2-http3/index.md",
            "json": "https://www.wp-masquerade.com/de/glossar/http2-http3/index.json"
        },
        {
            "language": "it",
            "hreflang": "it-IT",
            "title": "HTTP/2 e HTTP/3",
            "url": "https://www.wp-masquerade.com/it/glossario/http2-http3/",
            "markdown": "https://www.wp-masquerade.com/it/glossario/http2-http3/index.md",
            "json": "https://www.wp-masquerade.com/it/glossario/http2-http3/index.json"
        },
        {
            "language": "pt",
            "hreflang": "pt-BR",
            "title": "HTTP/2 e HTTP/3",
            "url": "https://www.wp-masquerade.com/pt/glossario/http2-http3/",
            "markdown": "https://www.wp-masquerade.com/pt/glossario/http2-http3/index.md",
            "json": "https://www.wp-masquerade.com/pt/glossario/http2-http3/index.json"
        },
        {
            "language": "nl",
            "hreflang": "nl-NL",
            "title": "HTTP/2 en HTTP/3",
            "url": "https://www.wp-masquerade.com/nl/woordenlijst/http2-http3/",
            "markdown": "https://www.wp-masquerade.com/nl/woordenlijst/http2-http3/index.md",
            "json": "https://www.wp-masquerade.com/nl/woordenlijst/http2-http3/index.json"
        }
    ],
    "headings": [
        {
            "level": 1,
            "text": "HTTP/2 and HTTP/3"
        },
        {
            "level": 2,
            "text": "HTTP/2: multiplexing"
        },
        {
            "level": 2,
            "text": "HTTP/3: a new transport"
        },
        {
            "level": 2,
            "text": "For WordPress"
        }
    ],
    "body": "A WordPress page is rarely a single file: there's the HTML, then dozens of stylesheets, scripts, images and fonts. With HTTP/1.1, each connection handles only one request at a time, which forces the browser to open several connections and wait in line. HTTP/2 and then HTTP/3 were designed to carry these many small exchanges more efficiently, without changing what requests mean: methods, status codes and headers stay the same.\n\n## HTTP/2: multiplexing\n\nHTTP/2, now specified in RFC 9113 (which obsoletes RFC 7540), splits messages into binary frames. Each exchange becomes a stream, and many streams travel at the same time over a single connection: a slow stream no longer holds up the others. Headers, highly repetitive from one request to the next, are compressed with HPACK.\n\nThe RFC acknowledges one limitation: TCP head-of-line blocking isn't solved. If a packet is lost, TCP holds back everything that follows until it's retransmitted, and all streams wait. For HTTP/2 over TLS, the standard requires TLS 1.2 or later, and the Apache documentation notes that most browsers only speak HTTP/2 with https URLs.\n\n![Three-column comparison. HTTP/1.1: text, one request at a time per connection, the browser opens several TCP connections, headers repeated in plain text. HTTP/2: binary frames, many streams multiplexed over a single TCP connection, headers compressed with HPACK, but one lost TCP packet blocks every stream. HTTP/3: the same multiplexing over QUIC on top of UDP, built-in TLS 1.3 encryption, QPACK compression, a lost packet only delays its own stream, advertised by the Alt-Svc header.](https://www.wp-masquerade.com/media/2026/10/http1-http2-http3-en.webp)\n\n*HTTP/2 bundles requests onto one connection; HTTP/3 switches transport to get rid of TCP blocking.*\n\n## HTTP/3: a new transport\n\nHTTP/3 (RFC 9114) keeps the same model, but runs over QUIC (RFC 9000), a secure transport protocol carried in UDP datagrams. QUIC manages streams itself: they are independent, and a loss only delays the stream concerned. [TLS](https://www.wp-masquerade.com/glossary/tls-ssl/) 1.3 encryption is part of the handshake, which cuts the number of round trips before the first byte, and a connection can survive a network change, from Wi-Fi to 4G for example. Header compression moves to QPACK.\n\nThe browser discovers HTTP/3 through the `Alt-Svc` header, sent during a first connection over HTTP/2 or HTTP/1.1: it says the same site also answers over h3, on a UDP port. If a firewall blocks UDP, the browser simply stays on HTTP/2.\n\n*Video: “HTTP/1 to HTTP/2 to HTTP/3” (ByteByteGo)*\n\n## For WordPress\n\n- **Check which version is in use** in the Network tab of the browser's developer tools (Protocol column: h2 or h3).\n- **The easiest route** is often a [CDN](https://www.wp-masquerade.com/glossary/cdn/), which speaks HTTP/3 to visitors whatever your server. [LiteSpeed](https://www.wp-masquerade.com/glossary/litespeed/) offers it too; for [Nginx](https://www.wp-masquerade.com/glossary/nginx/), the HTTP/3 module has been available since version 1.25.0, still described as experimental in its documentation.\n- **On Apache**, HTTP/2 goes through mod_http2 and the `Protocols h2 http/1.1` directive; the documentation recommends the event MPM, because with prefork a connection handles only one request at a time.\n- **Open UDP port 443** in the server firewall if you turn on HTTP/3 yourself.\n\nThe effect on performance depends on the site, the network and the number of files; the performance signals Google takes into account are discussed in our article on [HTTPS, HSTS and security headers](https://www.wp-masquerade.com/https-security-headers-seo-trust/).\n\n## Related terms\n\n- [TLS / SSL](https://www.wp-masquerade.com/glossary/tls-ssl/)\n- [CDN](https://www.wp-masquerade.com/glossary/cdn/)\n- [Nginx](https://www.wp-masquerade.com/glossary/nginx/)\n- [Apache HTTP Server](https://www.wp-masquerade.com/glossary/apache-http-server/)\n- [LiteSpeed Web Server](https://www.wp-masquerade.com/glossary/litespeed/)\n- [Core Web Vitals](https://www.wp-masquerade.com/glossary/core-web-vitals/)\n\n\n## Sources\n\n- [RFC 9113 : HTTP/2](https://www.rfc-editor.org/rfc/rfc9113.html)\n- [RFC 9114 : HTTP/3](https://www.rfc-editor.org/rfc/rfc9114.html)\n- [RFC 9000 : QUIC, A UDP-Based Multiplexed and Secure Transport](https://www.rfc-editor.org/rfc/rfc9000.html)\n- [Apache HTTP Server : HTTP/2 guide](https://httpd.apache.org/docs/2.4/howto/http2.html)",
    "definition": "HTTP/2 and HTTP/3 are the recent versions of the web's protocol. HTTP/2 carries many requests in parallel over a single TCP connection, as binary frames with compressed headers; HTTP/3 keeps that principle but runs on QUIC, over UDP, so that a lost packet only delays its own stream.",
    "group": "Web hosting",
    "aka": [
        "HTTP2",
        "HTTP3",
        "h2",
        "h3",
        "QUIC",
        "multiplexing"
    ],
    "related": [
        {
            "title": "TLS / SSL",
            "url": "https://www.wp-masquerade.com/glossary/tls-ssl/",
            "markdown": "https://www.wp-masquerade.com/glossary/tls-ssl/index.md"
        },
        {
            "title": "CDN",
            "url": "https://www.wp-masquerade.com/glossary/cdn/",
            "markdown": "https://www.wp-masquerade.com/glossary/cdn/index.md"
        },
        {
            "title": "Nginx",
            "url": "https://www.wp-masquerade.com/glossary/nginx/",
            "markdown": "https://www.wp-masquerade.com/glossary/nginx/index.md"
        },
        {
            "title": "Apache HTTP Server",
            "url": "https://www.wp-masquerade.com/glossary/apache-http-server/",
            "markdown": "https://www.wp-masquerade.com/glossary/apache-http-server/index.md"
        },
        {
            "title": "LiteSpeed Web Server",
            "url": "https://www.wp-masquerade.com/glossary/litespeed/",
            "markdown": "https://www.wp-masquerade.com/glossary/litespeed/index.md"
        },
        {
            "title": "Core Web Vitals",
            "url": "https://www.wp-masquerade.com/glossary/core-web-vitals/",
            "markdown": "https://www.wp-masquerade.com/glossary/core-web-vitals/index.md"
        }
    ],
    "sources": [
        {
            "title": "RFC 9113 : HTTP/2",
            "url": "https://www.rfc-editor.org/rfc/rfc9113.html"
        },
        {
            "title": "RFC 9114 : HTTP/3",
            "url": "https://www.rfc-editor.org/rfc/rfc9114.html"
        },
        {
            "title": "RFC 9000 : QUIC, A UDP-Based Multiplexed and Secure Transport",
            "url": "https://www.rfc-editor.org/rfc/rfc9000.html"
        },
        {
            "title": "Apache HTTP Server : HTTP/2 guide",
            "url": "https://httpd.apache.org/docs/2.4/howto/http2.html"
        }
    ],
    "format": "application/json"
}