Dat maakten de Mozilla-ontwikkelaars die verantwoordelijk zijn voor de ontwikkeling van Firefox onlangs bekend Firefox nachtelijke builds, evenals de bètaversie, is al ingeschakeld standaard het protocol HTTP / 3.
HTTP / 3-ondersteuning in Firefox is gebaseerd op het neqo-project ontwikkeld door Mozilla, die een client- en serverimplementatie biedt voor het QUIC-protocol.
De componentcode die HTTP / 3 en QUIC ondersteunt, is geschreven in Rust. Om de opname van HTTP / 3 in about: config te regelen, is de optie "network.http.http3.enabled" voorzien.
Vanuit de clientsoftware, experimentele ondersteuning voor HTTP 3 is al toegevoegd naar Chrome en curl, en voor servers is het beschikbaar in nginx, maar ook in de vorm van een nginx-module en een testserver van Cloudflare. Er zijn verschillende testsites gelanceerd om de werking van HTTP / 3-clients te testen.
HTTP / 3 bevindt zich nog in de conceptspecificatiefase en het is niet volledig gestandaardiseerd door de IETF. HTTP / 3 definieert het gebruik van het QUIC-protocol als transport voor HTTP / 2.
Protocol QUIC (Snelle UDP-internetverbindingen) sinds 2013 is het ontwikkeld door Google als alternatief voor TCP + TLS voor het web, Dit lost problemen op met lange TCP-verbindingsinstellingen en onderhandelingstijden en elimineert vertragingen in het pakketverlies tijdens gegevensoverdracht.
QUIC is een plug-in over UDP die multiplexing van meerdere verbindingen ondersteunt en biedt coderingsmethoden die gelijkwaardig zijn aan TLS / SSL. Tijdens de ontwikkeling van de standaard in de IETF zijn er wijzigingen aangebracht in het protocol, wat heeft geleid tot het verschijnen van twee parallelle takken, een voor HTTP / 3 en de andere compatibel met Google (Chrome ondersteunt beide opties).
Van de belangrijkste kenmerken van QUIC de volgende vallen op:
- Hoge beveiliging vergelijkbaar met TLS (in feite biedt QUIC de mogelijkheid om TLS via UDP te gebruiken).
- Controle van de transmissie-integriteit, waardoor pakketverlies wordt vermeden.
- De mogelijkheid om onmiddellijk een verbinding tot stand te brengen (0-RTT, in ongeveer 75% van de gevallen kunnen gegevens onmiddellijk worden verzonden na het verzenden van een verbindingssetuppakket) en zorgen voor minimale vertragingen tussen het verzenden van een verzoek en de ontvangst van een antwoord (RTT, Round Trip Time ).
- Gebruik een ander volgnummer bij het opnieuw verzenden van een pakket, waardoor dubbelzinnigheid bij de identificatie van ontvangen pakketten wordt vermeden en wachttijden worden geëlimineerd.
- Het verlies van een pakket heeft alleen invloed op de levering van de stream die eraan is gekoppeld en stopt niet de levering van gegevens in parallelle streams die via de huidige verbinding worden verzonden.
- Foutcorrectietools die vertragingen als gevolg van het opnieuw verzenden van verloren pakketten tot een minimum beperken. Het gebruik van speciale foutcorrectiecodes op pakketniveau om situaties te verminderen die herverzending van verloren gegevenspakketten vereisen.
- Cryptografische blokgrenzen worden uitgelijnd met QUIC-pakketgrenzen, waardoor de impact van pakketverlies op het decoderen van de inhoud van volgende pakketten wordt verminderd.
- Er zijn geen problemen met het blokkeren van de TCP-wachtrij.
- Ondersteuning voor een verbindings-ID om de tijd te verkorten die nodig is om een herverbinding voor mobiele clients te configureren.
- Mogelijkheid om uitgebreide mechanismen aan te sluiten om congestie van de verbinding te beheersen.
- Gebruik de techniek van het voorspellen van de prestaties in elke richting om de optimale pakketbezorgsnelheid te garanderen en te voorkomen dat u in een toestand van congestie terechtkomt, waarbij er pakketverlies is.
- Opmerkelijke prestaties en bandbreedtewinst ten opzichte van TCP. Voor videoservices zoals YouTube heeft het gebruik van QUIC een vermindering van 30% in buffering laten zien tijdens het bekijken van video.
Tenslotte op de stabiele tak is de opname van HTTP / 3 gepland voor de lancering van Firefox 88, gepland voor 20 april.
Als je er meer over wilt weten Over het inschakelen van HTTP / 3-ondersteuning in Firefox kunt u de details controleren In de volgende link.