You might encounter ERR_SPDY_PROTOCOL_ERROR while viewing a web page using Chrome browser. This might even happen while visiting popular websites. In this document we will discuss this error and ways to fix it.


SPDY Protocol and its functionality

ERR_SPDY_PROTOCOL_ERROR is related to SPDY protocol. Google has introduced this protocol to address the functional deficiencies of HTTP/1.1, increase the loading speed of webpages, and improve the security of websites. Later, IETF added small changes and additional definitions to SPDY protocol, and it was turned into a new standard for HTTP, named HTTP/2.

If a browser supports SPDY/HTTP/2, it will send some headers indicting its support of the protocol when it connects to the web server. If SPDY/HTTP/2 settings are set on the web server, upon receiving these headers the web server would connect to the browser using this protocol. However, if the web server does not support the protocol, it will ignore the headers and will connect to the browser using HTTP/1.1 protocol.


ERR_SPDY_PROTOCOL_ERROR causes and how to fix it

Some of the common causes for this error and the ways to fix them are listed below:

⦁ An outdated Chrome browser

The error might be caused by an outdated version of the Chrome browser which does not support SPDY/HTTP/2. In that case you should check your browser and make sure that it is updated to the latest version.

⦁ Outdated cache and cookies

Sometimes, after a website migrates from HTTP to HTTPS, the old HTTP-related cookies of the website would remain in the browser’s cache and cause this error. In order to clear the cache and cookies, click on the three-dots icon on the top bar of the Chrome browser and select the Settings option. Then scroll down till you reach the Advance option; there click on Clear Browsing Data.


In the opened window, in Time range menu select All time and then click Clear data. After the cache is cleared, restart the browser.


⦁ Firewall Settings

In Windows, go to Control Panel -> Windows Firewall. On the left side menu, select Allowed apps. Here, in the list of Allowed apps and features find Chrome and select its checkbox.


⦁ Using Flush socket

If none of the above methods worked, use the following approach:
Enter chrome://net-internals/#sockets in Chrome address bar.


In the new window, select flush socket pools.


⦁ Renew the IP address

⦁ Windows:
Right click on the Start icon and select Command Prompt(Admin). On the opened cmd window, type the following:
ipconfig /flash dns (to clear the DNS cache)
ipconfig /release (to get new IP from DHCP)
Then, restart Chrome.
⦁ MacOS:
Go to Network Setting. Select your internet connection and click on Advance. Go to TCP/IP tab and click Renew DHCP Lease.


⦁ Incognito Mode

Click on the three-dots icon on the top bar of the Chrome browser and select New Incognito window. Another way of doing this is to use Shift+Ctrl+N in Windows and Shift+Command+N in MacOS.


This will open a new window similar to the following image. In this new window, enter the address of the website that were producing the ERR_SPDY_PROTOCOL_ERROR error in the address bar.


⦁ Using Chrome Cleanup Tools

Click on the three-dot icon on the top bar of the Chrome browser and select Settings. Scroll down and click on Advance. Then click on Clean up computer option at the bottom of the page. In the opened window, click on Find. Finally, after the search is complete and the malwares are found, click on Remove and then restart Chrome.

If none of the above methods resolved the issue, you can follow these suggested steps:
⦁ Turn off the cloud in the Arvan Cloud user panel and then test your website to make sure that the DNS resolve is working properly (Please note that this is a temporary solution).
⦁ This error might be caused by inconsistency between Content-Length header and the size of the sent body.
⦁ Ensure that the outgoing response headers of the web-server are correct. Make sure that these headers are compatible with HTTP standards. If you are using Apache, you can use  this link to find out how to set the Response Headers appropriately.
⦁ If your web server is outdated, it is possible that its HTTP/2 is not implemented correctly, which can cause the error. Therefore, you better make sure that your web server is up-to-date.
If you have updated your web server to the latest version and made sure that the headers are correct, you can contact us by sending a ticket so that we could resolve the issue.