HTTP/3 Cover Piergiorgio Venuti

HTTP/3, tutto quello che c’è da sapere del protocollo di ultima versione

Estimated reading time: 5 minuti

I ricercatori della sicurezza hanno appena digerito il protocollo HTTP/2, ma gli innovatori del web stanno già pubblicando un aggiornamento: HTTP/3. Questa tecnologia offre guadagni in prestazioni e benefici nella sicurezza, ma solo se superiamo i problemi di implementazione che ci aspettano per quello che sembra un cambiamento evolutivo piuttosto che una rivoluzione vera e propria nel modo in cui funziona il web.

In questo articolo cercherò di fare chiarezza su cosa sia il nuovo protocollo HTTP/3, quali sono le sue caratteristiche e come puoi implementarle al tuo web hosting tramite Cloudflare con i servizi offerti da SOD.

HTTP/3 rete veloce

Cos’è HTTP/3 nel dettaglio

HTTP/3 è un major update dell’HyperText Transfer Protocol (HTTP), la tecnologia che sta alla base del trasferimento di informazioni sul web. HTTP/3 gira su QUIC, un protocollo di trasporto generale criptato che “accorpa” più flussi di dati su una singola connessione.

QUIC è stato inizialmente sviluppato da Google e utilizza il controllo della congestione su User Datagram Protocol (UDP).

Qual è la relazione con HTTP/2?

HTTP/2 ha portato alcuni miglioramenti tramite una tecnologia di download non bloccanti, pipelining e server push che aiutano a superare alcune limitazioni del protocollo TCP che è comunque alla base dell’HTTP/2 così come dell’HTTP. Sostanzialmente, con HTTP/2 possiamo ridurre al minimo il numero di cicli richiesta – risposta tra client e server.

HTTP/2 ha reso possibile inviare più di una risorsa in una singola connessione TCP, un processo che si chiama multiplexing. Il protocollo restituisce maggiore flessibilità nell’ordine dei download statici e le pagine non sono più vincolate da una progressione lineare dei download.

È possibile pensare ad HTTP/3 come il protocollo precedente che invece di usare il TCP per il trasferimento, utilizza il QUIC, il protocollo che abbiamo citato qui sopra.

I benefici del nuovo protocollo

Il passaggio a QUIC va molto verso la risoluzione di uno dei principali problemi di HTTP/2, vale a dire “head of line blocking”, letteralmente il blocco dell’inizio della linea.

Poiché la natura parallela del multiplexing HTTP/2 non è visibile ai meccanismi di recupero delle perdite di TCP, un pacchetto perso o riordinato causa lo stallo di tutte le transazioni attive, indipendentemente dal fatto che una particolare transazione sia stata o meno influenzata dal pacchetto perso.

Poiché QUIC fornisce un multiplexing nativo, i pacchetti persi hanno un impatto solo sui flussi in cui i dati sono stati interessati. L’effetto pratico dell’aggiornamento a HTTP/3 è quello di ridurre la latenza delle connessioni internet scarse o con perdite frequenti di pacchetti.

Inoltre, QUIC è quasi interamente crittografato, il che significa che la sicurezza è notevolmente migliorata con HTTP/3. Questa crittografia incorporata significa meno opportunità per gli attacchi MitM (manipulator-in-the-middle). QUIC include anche altre caratteristiche che aiutano a proteggere contro gli exploit denial of service (DoS), di cui abbiamo parlato in un altro articolo in relazione ai ransomware.

QUIC combina i suoi handshake crittografati e di trasporto in modo da permettere la connessione a un nuovo server in una singola richiesta. La stessa tecnologia permette di riprendere rapidamente una connessione interrotta con il client che invia dati applicativi crittografati nella prima interazione. Il protocollo usa TLS 1.3 come elemento costitutivo nel suo handshake crittografato.

Supporto del nuovo protocollo

A marzo 2021 il protocollo HTTP/3 è ancora una bozza standard e ha già molteplici implementazioni. Al momento circa il 14.3% dei 10 milioni di siti web esistenti supportano HTTP/3. Per confronto, HTTP/2 è supportato dal 50.5% delle piattaforme. Fonte dei dati è W3Techs.

Per quello che riguarda i browser, il protocollo è supportato dalle versioni stabili di Chrome in maniera non predefinita (da dicembre 2019) e da Firefox (da gennaio 2020).

HTTP/3 Connessioni sicure

I vantaggi dell’introduzione di HTTP/3

HTTP/3 dovrebbe offrire un tempo di caricamento più veloce e migliori prestazioni per i siti web, in particolare sulle reti soggette a perdite frequenti di pacchetti, rispetto alle tecnologie precedenti.

Achiel van der Mandele, product manager di Cloudflare ha spiegato: “In poche parole, crediamo che HTTP/3 renderà internet migliore per tutti. HTTP/3 è il successore di HTTP/2, che offre prestazioni migliori durante il caricamento dei siti web.

“Gli utenti HTTP/3 beneficeranno di una configurazione della connessione più veloce e di prestazioni migliori su reti di scarsa qualità con elevate quantità di perdita di pacchetti. Entrambi questi miglioramenti assicurano che i siti web si carichino più velocemente e in modo più affidabile”, ha detto Mandele a The Daily Swig.

Robin Marx, esperto di protocolli web, è stato più cauto nel parlare dei benefici di HTTP/3:

“Anche le prestazioni ne dovrebbero beneficiare, anche se non di molto nella pratica”, ha detto. “La rimozione del blocco dell’head-of-line non conta tanto per [cose come] il caricamento delle pagine web.

“La maggior parte dei guadagni sarà dovuta ai tempi più brevi di impostazione dell’handshake”, ha spiegato, aggiungendo che HTTP/3 e QUIC rappresentano «un’evoluzione, non una rivoluzione».

“Le prestazioni saranno migliori, ma non in un modo super-notevole per cose come la navigazione web”, ha detto Marx. “La sicurezza dovrebbe essere migliore e proteggere contro diversi tipi di attacchi“. (Fonte)

Disponibilità del protocollo

Come abbiamo visto, il nuovo protocollo di trasferimento HTTP/3 potrebbe essere una notevole evoluzione in ambito di sicurezza, più che di performance, dove eccellerà in modo significativo nell’impostazione degli handshakes. Al momento non tutti i servizi di hosting sono in grado di offrire il supporto per il nuovo protocollo.

Noi a SOD lo offriamo attraverso Cloudflare, il nostro partner per le CDN. Nel nostro servizio di web hosting è possibile abilitare le CDN gratuitamente per poi impostare il supporto al nuovo HTTP/3 tramite il pannello Cloudflare stesso.

Per avere maggiori informazioni, non esitare a contattarci, saremo lieti di rispondere a ogni domanda.

Useful links:

Condividi


RSS

Piu’ articoli…

Categorie …

Tags

Feed RSS: Feed sconosciuto Feed sconosciuto

Feed RSS: Feed sconosciuto Feed sconosciuto

Feed RSS: Full Disclosure Full Disclosure

  • Apache Struts2 Core Arbitrary Code Execution via OGNL Sandbox Escape Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description Apache Struts2 Core version 7.4.0 and below attempt to prevent arbitrary code execution via Object-Graph Navigation Language (OGNL) through several different mechanisms but only in a cursory fashion -- the libraries only guard against immediate calls evaluated by the OGNL engine via `SecurityMemberAccess`, but an allowed […]
  • Apache Struts2 Core TokenHelper Token Cryptographic Timing Side-Channel Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 Core 7.4.0 and below performs session token comparisons cryptographically insecure early-exit comparison functions (e.g., `!=`, `memcmp`, byte-by-byte loops with `break`) that return as soon as the first mismatched byte is encountered. The execution time of the comparison is therefore proportional to the number […]
  • Apache Struts2 Spring Plugin Uses a Previously Closed Resource Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 Spring Plugin opens a Spring `ApplicationContex` via a try-with-resources block and, outside of said block, then continues to use the closed resource, resulting in an uncaught `IllegalStateException`. This particular issue prevents proper functionality and indicates poor code quality and code review standards and […]
  • Apache Struts2 Core Integer Overflow Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description Apache Struts2 Core version 7.4.0 and below fails to properly prevent integer overflows, causing wrap-arounds and other issues on a downstream forced casting into types smaller than `BigInteger`. Importantly, this finding underscores why all applications using Struts and other such platforms should perform their own input […]
  • Apache Struts2 Core Cross-Origin Protection Exemption Miskeyed to a Deployment-Wide Path Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description Apache Struts2 Core version 7.4.0 and below's `FetchMetadataInterceptor`, `CoepInterceptor`, and `CoopInterceptor` each compare their `exemptedPaths` configuration -- a per-interceptor-reference, administrator-supplied set of paths intended to exempt specific actions from the corresponding cross-origin protection -- against `HttpServletRequest.getContextPath()`. `getContextPath()` is fixed for the entire deployed web...
  • Apache Struts2 REST Plugin Fails to Properly Parse Chunked Requests Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 REST Plugin's (version 7.4.0 and below) `ContentTypeInterceptor.intercept(ActionInvocation)` only deserialises a request body and enforces the `struts.rest.content.maxLength` bound when `HttpServletRequest#getContentLength()` returns a positive value. `getContentLength()` returns `-1` whenever the `Content-Length` header is absent, which normal and appropriate for any Hypertext Transfer Protocol (HTTP)...
  • Apache Struts2 REST Plugin Untrimmed `Accept` Header Tokens Break Content Negation Fallback Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01Description The Apache Struts2 REST Plugin's `DefaultContentTypeHandlerManager.getHandlerForResponse(HttpServletRequest, HttpServletResponse)` splits the `Accept` header on commas and passes each resulting token directly to `findHandler(String)` without trimming leading or trailing whitespace. `findHandler(String)` only retries a trimmed lookup when a token contains a semicolon (`;`), so a token that merely carries […]
  • Apache Struts2 JSON Plugin Insecure Deserialisation -- Object Deserialisation Element-Count Limit Bypass Novembre 2, 2026
    Posted by Daniel Owens via Fulldisclosure on Nov 01As of the current versions of the Apache Struts2 JSON Plugin (e.g., version 7.4.0 and the 7.5.0 snapshot dated 28 October 2026), attackers can bypass the element-count limit purported to protect Object deserialisation added to said code as part of the WW-5618 and S2-072 "hardening controls". Please […]
  • [0day-rubbish] NETGEAR RAX120 V1.2.5.18 authenticated SOAP InstallApp OS command injection to root-configured web-stack execution (6.8 Medium; conditionally 7.2 High with management exposure) Ottobre 29, 2026
    Posted by disclosure via Fulldisclosure on Oct 280day Rubbish Research Team is publicly disclosing a vulnerability in NETGEAR RAX120 (Nighthawk AX12) firmware V1.2.5.18, the WiFi 6 consumer router from NETGEAR (United States), built on the Qualcomm IPQ8074 platform. The administrative web plane of this firmware generation is a lighttpd server fronting the vendor's DNI-framework CGI […]
  • [0day-rubbish] Raritan PX3 PDU G4 firmware 4.3.14 command injection in the ping and traceroute diagnostics through an inverted hostname-validation return check (8.8) Ottobre 29, 2026
    Posted by disclosure via Fulldisclosure on Oct 280day Rubbish Research Team is publicly disclosing a vulnerability in the Raritan PX3 PDU G4, firmware version 4.3.14, the intelligent rack power distribution unit from Raritan, a Legrand company (United States). A low-privilege authenticated session converts one diagnostics request into operating-system command execution in the product's web-service context, […]

Customers