HTTP/3: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 2 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.2
Storia: Aggiunto un'immagine relativa alla comparazione tra le varie versioni di HTTP con la relativa didascalia
 
(7 versioni intermedie di 5 utenti non mostrate)
Riga 1:
'''HTTP/3''' è la terza versione del protocollo [[Hypertext Transfer Protocol]] usato per il [[World Wide Web]] nonché il successore di [[HTTP/2]].<ref>{{cita web|url=https://quicwg.org/base-drafts/draft-ietf-quic-http.html|lingua=en|titolo=Hypertext Transfer Protocol Version 3 (HTTP/3)|cognome=Bishop|nome=M.|data=7 maggio 2020|sito=quicwg.org|accesso=2020-05-07|dataarchivio=14 settembre 2019|urlarchivio=https://web.archive.org/web/20190914173146/https://quicwg.org/base-drafts/draft-ietf-quic-http.html|urlmorto=sì}}</ref><ref name="draft-ietf-quic">{{cita web|lingua=en|titolo=Hypertext Transfer Protocol Version 3 (HTTP/3)|url=https://tools.ietf.org/html/draft-ietf-quic-http-27|cognome=Bishop|nome=Mike|data=21 febbraio 2020|editore=[[Internet Engineering Task Force|IETF]]}}</ref> HTTP/3 è basato su una precedente bozza di [[Request for Comments|RFC]] intitolata ''Hypertext Transfer Protocol (HTTP) over QUIC''.<ref name=":0" /> [[QUIC]] è un [[protocollo di rete]] di [[livello di trasporto]] sviluppato originariamente da [[Google (azienda)|Google]] in cui il [[controllo della congestione]] nello [[spazio utente]] viene realizzato su protocollo [[User Datagram Protocol]] (UDP) e proprio l'appoggiarsi su QUIC/UDP invece che su [[Transmission Control Protocol|TCP]] rappresenta la caratteristica distintiva di HTTP/3.
 
==Storia==
{{aggiornare|arg=informatica|settembre 2023}}
Il 28 ottobre 2018 Mark Nottingham, responsabile dei gruppi di lavoro [[Internet Engineering Task Force|IETF]] HTTP e QUIC, nel contesto di una discussione in mailing list ha avanzato la richiesta ufficiale di rinominare HTTP-over-QUIC in HTTP/3, per "identificarlo chiaramente come un ulteriore legame tra la semantica dell'HTTP e il protocollo fisico... così che si capisca che è qualcosa di separato da QUIC" e di trasferire il suo sviluppo dal QUIC Working Group all'HTTP Working Group dopo il consolidamento e la pubblicazione della bozza.<ref>{{cita pubblicazione|cognome=Nottingham|nome=Mark|data=28 ottobre 2018|lingua=en|titolo=Identifying our deliverables|url=https://mailarchive.ietf.org/arch/msg/quic/RLRs4nB1lwFCZ_7k0iuz0ZBa35s|pubblicazione=IETF Mail Archive}}</ref> La sua proposta venne accettata dagli altri membri IETF dopo pochi giorni, a novembre 2018.<ref name=":0">{{cita news|url=https://www.zdnet.com/article/http-over-quic-to-be-renamed-http3/|lingua=en|titolo=HTTP-over-QUIC to be renamed HTTP/3|cognome=Cimpanu|nome=Catalin|data=12 novembre 2018|accesso=12 novembre 2018}}</ref>
[[File:HTTP-1.1 vs. HTTP-2 vs. HTTP-3 Protocol Stack.svg|miniatura|Comparazione tra le varie versioni di HTTP|300x300px]]
Il 28 ottobre 2018 Mark Nottingham, responsabile dei gruppi di lavoro [[Internet Engineering Task Force|IETF]] HTTP e QUIC, nel contesto di una discussione in [[mailing list]] ha avanzato la richiesta ufficiale di rinominare HTTP-over-QUIC in HTTP/3, per "identificarlo chiaramente come un ulteriore legame tra la semantica dell'HTTP e il protocollo fisico... così che si capisca che è qualcosa di separato da QUIC" e di trasferire il suo sviluppo dal QUIC Working Group all'HTTP Working Group dopo il consolidamento e la pubblicazione della bozza.<ref>{{cita pubblicazione|cognome=Nottingham|nome=Mark|data=28 ottobre 2018|lingua=en|titolo=Identifying our deliverables|url=https://mailarchive.ietf.org/arch/msg/quic/RLRs4nB1lwFCZ_7k0iuz0ZBa35s|pubblicazione=IETF Mail Archive}}</ref> La sua proposta venne accettata dagli altri membri IETF dopo pochi giorni, a novembre 2018.<ref name=":0">{{cita news|url=https://www.zdnet.com/article/http-over-quic-to-be-renamed-http3/|lingua=en|titolo=HTTP-over-QUIC to be renamed HTTP/3|cognome=Cimpanu|nome=Catalin|data=12 novembre 2018|accesso=12 novembre 2018}}</ref>
 
Il browser [[Google Chrome|Chrome]] ha integrato il supporto di HTTP/3 nella ''"Canary build"'' di settembre 2019 e sebbene HTTP/3 non sia ancora usato di default in alcun [[browser]], dal 2020 può essere abilitato nelle versioni stabili di Chrome e di [[Mozilla Firefox|Firefox]].<ref>{{cita web|url=https://caniuse.com/#search=HTTP/3|lingua=en|titolo=Can I use... Support tables for HTML5, CSS3, etc|sito=caniuse.com|accesso=2020-01-19}}</ref><ref>{{cita web |cognome=Daniel |nome=Stenberg |lingua=en|titolo=Daniel Stenberg announces HTTP/3 support in Firefox Nightly |url=https://twitter.com/bagder/status/1191482712739196928 |sito=Twitter |accesso=5 novembre 2019}}</ref><ref>{{cita web|url=https://www.zdnet.com/article/cloudflare-google-chrome-and-firefox-add-http3-support/|lingua=en|titolo=Cloudflare, Google Chrome, and Firefox add HTTP/3 support|sito=ZDNet|data=26 settembre 2019|accesso=27 settembre 2019|nome=Catalin|cognome=Cimpanu}}</ref> In via sperimentale, il supporto di HTTP/3 è stato reso disponibile anche su [[Safari (browser)|Safari Technology Preview]] l'8 aprile 2020.<ref>{{Cita web|url=https://webkit.org/blog/10264/release-notes-for-safari-technology-preview-104/|lingua=en|titolo=Release Notes for Safari Technology Preview 104|data=8 aprile 2020}}</ref>
 
Il 6 giugno 2022, [[Internet Engineering Task Force|IETF]] ha standardizzato HTTP/3 come RFC 9114<ref>{{IETF|9114}}</ref>.
Riga 34 ⟶ 36:
 
=== Librerie ===
Sono disponibili le seguenti librerie [[open source]] che implementano le logiche di [[client]] o di server per QUIC e HTTP/3:<ref>{{cita web|lingua=en|titolo=Internet-Drafts that make up the base QUIC specification: quicwg/base-drafts|data=2019-11-12|url=https://github.com/quicwg/base-drafts|editore=IETF QUIC WG|accesso=2019-11-13}}</ref>
{| class="wikitable"
|+
Riga 43 ⟶ 45:
|-
|quiche
|[[Rust (linguaggio di programmazione)|Rust]]
|Rust
|Cloudflare
|https://github.com/cloudflare/quiche
Riga 53 ⟶ 55:
|-
|proxygen
|[[C++]]
|Facebook
|https://github.com/facebook/proxygen#quic-and-http3
Riga 63 ⟶ 65:
|-
|lsquic
|[[C (linguaggio di programmazione)|C]]
|C
|LiteSpeed
|https://github.com/litespeedtech/lsquic
Riga 88 ⟶ 90:
|-
|Flupke
|[[Java (linguaggio di programmazione)|Java]]
|Java
|
|https://bitbucket.org/pjtr/flupke
|-
|aioquic
|[[Python]]
|
|https://github.com/aiortc/aioquic
|-
|quic-go
|[[Go (linguaggio di programmazione)|Go]]
|Go
|
|https://github.com/lucas-clemente/quic-go
|-
|quic
|[[Haskell (linguaggio di programmazione)|Haskell]]
|Haskell
|
|https://github.com/kazu-yamamoto/quic
|}
 
La libreria ''quiche'' di Cloudflare può essere usata anche come [[patch]] di [[nginx]],<ref>{{cita web|url=https://blog.cloudflare.com/experiment-with-http-3-using-nginx-and-quiche/|lingua=en|titolo=Experiment with HTTP/3 using NGINX and quiche|data=2019-10-17|sito=The Cloudflare Blog|accesso=2019-11-09}}</ref> che prevede di supportaresupporta HTTP/3 nelladalla versione 1.1725.<ref>{{cita web|url=https://trac.nginx.org/nginx/milestone/nginx-1.1725.0|lingua=en|titolo=Milestone nginx-1.1725.0|sito=trac.nginx.org|accesso=2019-112024-09-30}}</ref>
 
Sono inoltre disponibili alcune librerie che implementano una versione precedente della bozza del protocollo o della versione Google di QUIC (Q046 usato in Chrome 76), come per esempio nghttp3.<ref>{{cita web|url=https://github.com/ngtcp2/nghttp3|titolo=nghttp3|lingua=en}}</ref>
Riga 121 ⟶ 123:
 
==Altri progetti==
{{interprogetto|preposizione=sull'}}
 
== Collegamenti esterni ==