For all of the speed and diversity or Google’s offerings, even Google can mess up at times. If you’ve been experiencing the err_spdy_protocol_error, there are some steps you’re going to need to go through to get back up to speed again.
For those who want to understand just what’s going on, start with the explanation below. If you just want it fixed, jump ahead to “Resolution Instructions” to fix your problems so they stop bothering you. If you want to understand why it happens, then read on to “Understanding the Issue” below.
Resolution Instructions
If you’re browsing the web and a web page shows up with the error message err_spdy_protocol_error, don’t panic. Follow these steps, and it will clear it right up:
Refresh the page. It’s like the old Windows “turn off and turn on”. Start with just refreshing the page to see if the SPDY protocol can come out of its slump.
If that doesn’t work, then we need to clear the browser of all of it’s SPDY packets. Please note that the problem only works under Chrome — so the solution only works under Chrome. err_spdy_protocol_error is a Chrome issue, so if you’re not using Chrome, it’s not a problem.
If you do see the error in Chrome, follow these steps:
- In the Address Bar, type in the following: chrome://net-internals/#events&q=
type:SPDY_SESSION%20is: activ - Wait for the system to show all of the SPDY packets across the different websites. Think of these as a cache that’s used to make things faster.
- In the upper right hand corner is a little black triangle — click it, and select “Flush sockets”.
And there you have it! If you see “this webpage is not available err_spdy_protocol_error” — flushing out those bad packets will make the problem go away.
Understanding the Issue
When a user sees “this webpage is not available err_spdy_protocol_error” it looks like a lot of nonsense. First, understand that this error will only work for users that use the Google Chrome web browser. Internet Explorer, Safari, Mozilla, and even the stalwart Opera doesn’t have the same issue as Google Chrome. They have other issues — every browser has their problems to overcome.
The other thing to understand is that this error doesn’t appear on every web page either. Pages run by Microsoft or other web providers likely won’t bring up this error. Though for some reason some people have reported the err_spdy_protocol_error on Reddit, though that might be the users trying to understand what’s going on rather than issue with Reddit itself.
Protocols are system which systems used to communicate with each other. TCP/IP is a protocol — actually two protocols working together — that provide most of the computers access to one another on the Internet. For those who are older, they might remember other protocols that used to be in vogue like IPX (mainly used by Novell Networks) or NetBEUI. Microsoft used to love NetBEUI but even they gave it up. Another common protocol is HTTP — that’s the system used every time a browser connects to a web server. It’s what runs almost all of the Internet. If you don’t include cat videos.
To make Google Chrome run faster, Google decided to use new protocol that still runs over the modern Internet, but provides more features. This other protocol that you might have heard of is called SPDY.
Now it’s making sense isn’t it when you see the “this webpage is not available err_spdy_protocol_error” error. SPDY is a protocol that Google to make web pages more, well, speedy. The problem is that HTTP receives one item at a time. So if you’re looking at a web page, then the text is one item (the HTML code). Every javascript file the browser uses — that’s a separate request. For those who have some interest in web programming, this is why the javascript Webpack is so successful. It takes all of the javascript code and puts it into one file, so instead of several different Javascript files, there’s just one to retrieve over HTTP. But not everything can be crammed into one file. Ever see a web page load up and some of the images take longer than others? Part of that is HTTP getting an item, storing it in memory, getting the next item, storing it in memory, on and on. Granted, over time, web servers and browsers have gotten better and no longer just making one connection at a time, but up to six. I know — six whole connections at once. Be still your heart.
SPDY was meant to fix that by allowing more concurrent connections across a single TCP session, so more information can be sent across the Internet in one large batch rather than several hundred smaller ones. The good news is this system can bring an increase of speed of over 60%. The problem is when the system doesn’t work — it can cause the entire process to fail, leading to the err_spdy_protocol_error.
That’s why the solution above works to clear the issue. While the SPDY protocol can make web pages go faster, as with all technology it can get stuck. A badly formed packet can have a browser stuck in a loop trying to get information from a web server, but the packets that come in are garbled in some way. Because Chrome wants to keep things fast, rather than throwing away those bad packets and starting over or going back to old reliable HTTP, those packets get stuck in memory. So Chrome just displays “this webpage is not available err_spdy_protocol_error” rather than actually resolving the issue.
Technology is a constant trade off. Speed up something here, and it might break something else along the way. The good news is that Google came up with a technology that was based on HTTP and TCP, two of the backbones that power most of the Internet. The bad news is that every so often, things can go a little wonky. It’s kind of like putting a nitro engine on pick up truck. Sure, you can get a lot more speed — but it wasn’t really built to do that.
Sometimes things just go wrong, but there’s usually a fix for it. For example, when files have been deleted or partitions lost, the best solution to that is an application called Disk Drill.
Disk Drill provides powerful file recovery, and has a free offer for up to 500 MB of recovery. And even better — no err_spdy_protocol_error messages.