HTTP/2-controleur

5 van 2 beoordelingen
HTTP/2-controleur

De HTTP/2-controleur is een gratis tool die controleert of een website het netwerkprotocol HTTP/2 gebruikt.

Wat wordt er bij een HTTP/2-controle precies getest?

Een HTTP/2-controle bepaalt of een webserver voor de opgevraagde website via HTTP/2 kan communiceren. HTTP/2 is een versie van het Hypertext Transfer Protocol, de verzameling regels waarmee browsers en servers pagina's, afbeeldingen, scripts en andere webbronnen opvragen en leveren.

Bij een HTTPS-website kiezen de client en server doorgaans een protocol tijdens het opzetten van de beveiligde verbinding. Hiervoor wordt meestal Application-Layer Protocol Negotiation, oftewel ALPN, gebruikt. HTTP/2 wordt aangeduid als h2, terwijl een oudere verbinding mogelijk http/1.1 gebruikt.

HTTP/2 behoudt bekende HTTP-concepten zoals methoden, statuscodes en headers, maar verstuurt deze via binaire frames. Het protocol kan meerdere streams over één verbinding verwerken en HTTP-headers comprimeren. Dat kan de verbindingsoverhead verlagen, vooral bij pagina's met veel afzonderlijke bronnen. Trage applicatiecode, grote afbeeldingen of vertraagde databasequery's worden er op zichzelf niet sneller door.

Schema dat opeenvolgende HTTP/1.1-verzoeken vergelijkt met gemultiplexte HTTP/2-verzoeken over één verbinding

Hoe gebruik ik de HTTP/2-controleur?

Voer de website in waarvan je de HTTP/2-ondersteuning wilt controleren en start de controle. De invoer wordt via HTTPS naar de server verzonden, waar de controle wordt uitgevoerd. De invoer wordt niet opgeslagen.

Domeinlabels met accenten of niet-Latijnse tekens worden in DNS weergegeven als IDNA A-labels. Hiervoor wordt het coderingsalgoritme Punycode gebruikt.

Voer geen toegangstokens of andere gevoelige informatie in. Hoewel de invoer niet wordt opgeslagen, wordt deze wel naar de server van de tool verzonden om de controle aan de serverzijde uit te voeren.

Hoe lees ik het HTTP/2-resultaat?

Het resultaat geeft aan of de gecontroleerde website HTTP/2 gebruikt. Zie het als bewijs voor die specifieke website, niet als een volledige beoordeling van de snelheid of configuratie ervan.

  • Een positief resultaat bevestigt dat het protocol wordt gebruikt. Bij een negatief resultaat kon HTTP/2 niet worden bevestigd, maar alleen op basis daarvan is de oorzaak niet vast te stellen.

Stel bijvoorbeeld dat een website een positief HTTP/2-resultaat oplevert. Daarmee is HTTP/2 voor de gecontroleerde website bevestigd. Het bewijst niet dat afzonderlijke diensten of een oudere originserver hetzelfde protocol gebruiken.

Als het resultaat HTTP/2 niet bevestigt, onderzoek je de gecontroleerde website met HTTP-headers opzoeken en controleer je de instellingen van de webserver of het CDN. In de ontwikkelaarstools van een browser kun je ook het protocol van elke aanvraag bekijken, meestal aangeduid als h2 of http/1.1.

Voorbeeldresultaat van de tool HTTP/2-controleur

Veelvoorkomende problemen die deze controle aan het licht brengt

Een HTTP/2-controle is nuttig na een wijziging aan de hosting, proxy of het CDN, omdat je ermee ziet of het openbare eindpunt het verwachte protocol aanbiedt. In de volgende veelvoorkomende situaties helpt het resultaat om de oorzaak van een probleem af te bakenen.

  1. Er is zojuist een CDN ingeschakeld. Controleer de openbare website en niet het privé- of tijdelijke adres van de originserver. Als de openbare website HTTP/2 gebruikt en de originserver niet, kan dat normaal zijn. De verbindingen tussen browser en CDN en tussen CDN en originserver staan namelijk los van elkaar.
  2. Een browser meldt nog steeds HTTP/1.1. Controleer of de browser en de controleur dezelfde website testen. Een pagina kan bronnen van meerdere domeinen laden en elke verbinding onderhandelt afzonderlijk over het protocol. Als één aanvraag voor een script van een externe partij HTTP/1.1 gebruikt, betekent dat niet dat dit ook voor het hoofddocument geldt.
  3. Na een servermigratie verschijnt een certificaatwaarschuwing. De afhandeling van HTTPS-certificaten en de onderhandeling over het HTTP-protocol zijn beide onderdeel van het opzetten van de verbinding, maar een HTTP/2-resultaat vormt geen volledige certificaatdiagnose. Controleer afzonderlijk de hostnaam, vervaldatum en keten van het certificaat, plus de serverconfiguratie.
De tool HTTP/2-controleur op digily.link, met het invoerformulier

Deze controle kan niet elke traag ladende pagina verklaren. HTTP/2-ondersteuning zegt niets definitiefs over de reactietijd van de server, de uitvoering van JavaScript, de afbeeldingsgrootte of netwerkcongestie tussen een bepaalde bezoeker en de server. Gebruik Ping als je de netwerkbereikbaarheid en responstijd afzonderlijk wilt bekijken.

Waarom kan caching of propagatie een verkeerd resultaat lijken te geven?

Door DNS-caching en de propagatie van configuratiewijzigingen kunnen controles tijdelijk bij verschillende servers uitkomen. Nadat een DNS-record is gewijzigd, kunnen recursieve resolvers het vorige antwoord blijven gebruiken totdat de time-to-live verloopt. Een controle aan de serverzijde en je kantoor- of thuisverbinding kunnen daardoor verschillende IP-adressen bereiken.

Ook wijzigingen aan een CDN of load balancer kunnen tijd nodig hebben om elke edge-locatie te bereiken. Op het ene eindpunt kan HTTP/2 al zijn ingeschakeld, terwijl een ander eindpunt nog de vorige configuratie gebruikt. Controleer de actuele DNS-antwoorden, bevestig dat alle origin- of edgeservers de beoogde instellingen gebruiken en herhaal de vergelijking nadat de relevante cacheperiode is verstreken.

Browsers kunnen voor extra verwarring zorgen doordat ze open verbindingen hergebruiken. Een tabblad kan een bestaande HTTP/1.1-verbinding blijven gebruiken totdat deze wordt gesloten, terwijl een nieuwe controle aan de serverzijde over HTTP/2 onderhandelt. Sluit de browserverbinding of start een nieuwe privésessie voor een zuiverdere vergelijking.

Veelgestelde vragen

Kan een website zowel HTTP/1.1 als HTTP/2 ondersteunen?

Ja. Een server kan beide protocollen ondersteunen en de versie kiezen die de verbonden client begrijpt. Dankzij deze compatibiliteit kunnen oudere clients HTTP/1.1 gebruiken, terwijl nieuwere clients over HTTP/2 onderhandelen.

Kan een website naast HTTP/2 ook HTTP/3 gebruiken?

Ja. Bij veel implementaties blijft HTTP/2 beschikbaar als terugvaloptie, omdat HTTP/3 een ander transportprotocol gebruikt en niet op elk netwerk beschikbaar is. Een HTTP/2-resultaat toont niet aan of HTTP/3 ook is ingeschakeld.

Is HTTPS vereist voor HTTP/2?

HTTP/2 kan met voorkennis via onbeveiligd TCP worden gebruikt. Het gebruik van het voormalige HTTP/1.1 Upgrade-token h2c wordt inmiddels afgeraden. Gangbare browsers gebruiken HTTP/2 normaal gesproken via HTTPS. Voor een openbare website is een geldige TLS-configuratie daarom meestal nodig om HTTP/2 aan browsers beschikbaar te stellen.

Kan HTTP/2 een hoge time to first byte oplossen?

Nee. Een hoge time to first byte wijst vaak op verwerking door de server, netwerkafstand, cachemissers of overbelaste infrastructuur. HTTP/2 kan efficiënter omgaan met meerdere aanvragen via één verbinding, maar neemt de vertraging voordat de server begint te antwoorden niet weg.

Vergelijk tot slot dezelfde website in de controleur, de ontwikkelaarstools van je browser en de DNS-records. Als de resultaten verschillen, noteer je het gevonden IP-adres en test je opnieuw nadat de bestaande DNS- en CDN-caches zijn verlopen.

Populaire tools