Ook bij het nieuwe, door Google in gang gezette transportprotocol QUIC bestaat die mogelijkheid. QUIC-clients communiceren met de server via UDP. De overdracht is gedefinieerd door het doel-ip-adres en het poortnummer.
Daar kan QUIC meerdere logische verbindingen naartoe opbouwen. Die komen overeen met afzonderlijke TCP-verbindingen met flow-controle en foutcorrectie.
Bij de onderhandeling krijgt elke verbinding een individuele, meestal 16-bit lange connection-ID.
Via die logische verbindingen kunnen client en server meerdere HTTP-requests tegelijkertijd verzenden en beantwoorden – op die manier worden websites merkbaar sneller geladen. Waarom dat zo is, staat in het kader hieronder.
Googles uitgangspunten voor QUIC
Websites bestaan uit veel kleine elementen (zoals afbeeldingen, CSS-bestanden, scripts), die allemaal apart en vaak van verschillende servers geladen moeten worden.
Omdat elke afzonderlijke toegang tijd kost (het opbouwen van een TCP-verbinding, het versturen van het HTTP-request, het wachten op het antwoord), wil je eigenlijk alle HTTP-requests tegelijkertijd kunnen versturen.
Dat idee zit bijvoorbeeld in HTTP 2.0. Maar HTTP 2.0 is bij het opbouwen van TLS-verbindingen net zo langzaam als HTTP 1.1 en net zo gevoelig voor overdrachtsfouten.
Als je namelijk meerdere logische HTTP-verbindingen via één TCP-verbinding afhandelt, is dat vanuit het oogpunt van TCP dan een enkele datastroom.