The HTTP protocol used to request web resources is a key performance driver! For example, the oldest version of the protocol (HTTP/1.0) requires one TCP connection per resource to fetch. Compared to the HTTP/1.0, even if the HTTP/1.1 does not have this limitation, it still can only support one HTTP request at a time (within the same TCP session). Newly protocols like HTTP/2 and HTTP/3 have introduced a lot of performance improvements, not limited to this. Please refer to our article "How HTTP/2 can boost web performance" for more details.
The choice of the protocol used depends on the browser as well as server capabilities. Really old browsers may only support HTTP/1.0 and will therefore connect to the server using it. If the browser supports HTTP/1.1 or more recent protocols, it will by default first connect to the server by using the HTTP/1.1 protocol. In case the connection is secured through HTTPS, the final protocol used is negotiated during the TLS handshake. The result of this negotiation will take both browser and server capabilities into account. Obviously, the lowest common denominator will be chosen.
In the Kadiska interface, you can visualize the HTTP protocol used in the "Domains" view of the "Resources Analysis" section.
The protocols can be:
|Local||resource found from the browser's local cache|
|N/A||used for non HTTP requests|
The most used protocol per hostname is provided first in the list. As an example from the picture above, the "api.hubspot.com" is mainly accessed through HTTP/3, then HTTP/2 and finally locally from the browser's cache.