Summarize with AI:
One power user explains why HTTP/2 support pushed him over the edge to upgrade to Fiddler Everywhere.
I have been using Fiddler for more than 20 years. I rely on it daily to identify issues, troubleshoot problems, review performance, and understand how websites work. It is amazing the difference it makes when you can see exactly how web browsers and servers communicate, and what they send and receive.
When Fiddler Everywhere was first introduced to the Progress Telerik toolset, I continued to use Fiddler Classic primarily because I did not need a cross-platform solution and Fiddler Everywhere did not yet have some of the advanced functionality I relied on. I was happy where I was with Classic.
Eventually, as features were added to Fiddler Everywhere, I started to use it more often. Fiddler Everywhere also introduced features that Classic didn’t have, but those were also not primary features I needed, so I wasn’t yet a full convert. The tipping point for me transitioning to Everywhere was the impact of a new protocol HTTP/2.
Let’s start by defining what a protocol is. A protocol is a set of rules that describe how participants communicate with one another. Prior to HTTP/2, the protocol for how browsers and servers communicate was HTTP/1.1.
In the world of computers, some things change very rapidly like new JavaScript frameworks or lately AI. HTTP protocol updates move more slowly.
HTTP/1.1 was introduced in 1999, and it was a HUGE success! It shouldered the burden of supporting all of the websites we used every day. Webpages typically require about 100 requests from an array of different hosts. HTTP/1.1 specified that browsers should open up to 2 connections to each host. Gradually modern browsers coalesced on using 6 connections per host, and each connection could handle a single request/response at a time.
That meant that if the webpage needed 30 files (images, CSS, JavaScript, etc.) from a single host, it would need to do that in sets of 6. This would limit how quickly the page could get the necessary files and show the webpage. Since it only supported a single request/response per connection, if a given file was taking a long period of time, that would limit the number of available connections for additional files. Another concern is that creating these connections takes time to start and become fully functional (lookup TCP “3-way handshake” and “slow start” for more details).
A very simple webpage demonstration is HTML that requests 10 images. In Fiddler Classic, I used the AutoResponder to create a rule that simulates a slow connection by intentionally delaying each JPG request by 8 seconds:

When the webpage is requested, you can see that with a limited number of connections and only a single request and response on each connection how the performance of the webpage is impacted (a typical “staircase” timeline):

That eventually became a problem for me because the behavior I saw in Fiddler Classic was no longer the behavior users experienced in their browsers. In this example, Fiddler Classic, using the HTTP/1.1 connection, will try to open 6 connections to the host. The webpage will end up taking at least 16 seconds.
At last, in 2015, the World Wide Web adopted HTTP/2, which had many innovations, but the most impactful was “multiplexing,” which is a fancy way to say that each connection can handle multiple requests and responses at the same time.
This meant that browsers only needed to use a single connection per host, and that a single slow request/response doesn’t impact others. As you can imagine, a website hosted on a server that supported HTTP/2 could have a large impact on the reliability and performance of a webpage.
Support of HTTP2, which Fiddler Everywhere now offers, allows for a more accurate understanding of what actually went through the wire. The same demonstration page from above would look like this in Fiddler Everywhere:

Since Fiddler Everywhere supports HTTP/2, you can see that all of the images were happening at the same time, and that the page finishes now in a little more than 8 seconds.
As the adoption of HTTP/2 grew, it reached the point that I could no longer rely on Fiddler Classic to accurately represent how a website would behave, and I finally moved to using Fiddler Everywhere exclusively.
Enjoy a free trial today:
Robert Boedigheimer works for Schwan's Home Service providing business solutions with web technologies. He is a Microsoft MVP, a Progress Developer Expert (Fiddler), an ASPInsider, a Pluralsight author, and a 3rd degree black belt in Tae Kwon Do. Robert regularly speaks at national and international events.