HTTP2 and SPDY Protocols - Make HTTP Faster and Safer

HTTP/2, next version of HTTP/1, http/1 can not handle the present web which has become more resource intensive, it cannot processes multiple requests in an efficient manner. HTTP/2 has got many techniques to harness the requirements of current web experience.

SPDY is the core part of HTTP/2 protocol, many of the http/2 protocol techniques are part SPDY.

SPDY(speedy) is a network protocol which manipulates http protocol by compressing headers, predicting clients requests(example discussed below) and other techniques, to fasten web experience.

SPDY was developed by Google. However in favour of http/2 which makes use of SPDY techniques, SPDY is deprecated. So until you are with http/1, SPDY will boost your website speed, Google says, speedy(SPDY) boosts website speed upto 55%.

SPDY supports all major browsers(firefox, chrome, opera, safari, ie). 

Why speedy is fast:
    1. Compression.
        Speedy compresses the headers, it will track whether the headers in this particular session has been sent and if sending headers was has already done then it is of no use to resend untilsession expires.

    2. Prefetching:
        If a client requests for an html file which includes some links(css stylesheets) then in http/1 protocols, the client should have to send request for getting those links(css stylesheets). In this case a speedy server could parse the html, include those links and send without waiting for client to ask for links.

    3. Priority:
        HTTP/1 handles limited parallel connections, like 6-8 based on browser, if connections are more, then we have to wait until previous connections are resolved, so even if there are connections that are important we have to wait. Speedy workarounds by using prioritized streams, so most urgent requests will be resolved first.

    4. Most importantly multiplexing:
        As said above about limited parallell connections, multiplexing can solve this, multiplexing basically means combining many signals into one, so the speedy browser combines its many requests into a single request and sends to server, the server then divides the requests(demultiplexing) into original number of requsts and responds.

    Speedy is fast because extra work is done by both client and server for processing the above tasks.

Although http/2 has speedy at its core, http/2 can handle multi-host multiplexing, has faster encryption, has faster compression rate.

HTTP/2 for Nginx:

    Nginx started support for http/2 from version 1.9.5, so if you are using Long term support OS version like Ubuntu 14.04 then you should add latest nginx deb repo to source list before installing nginx.
Follow the following commands if you have nginx version below 1.9.5

wget -O - | sudo apt-key add -
echo "deb trusty nginx" | sudo tee -a /etc/apt/sources.list
echo "deb-src trusty nginx" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install nginx

Finally replace:
    listen 443 ssl;
    listen 443 ssl http2;
Reload Nginx.

Thats are ready to go.

To check http2 is on, visit:  or checkout chrome sniffer extension, displays details of site, whether using nginx, jquery, disqus etc..It will show spdy if http2 or spdy protocol are enabled.

Posted On 08 March 2016 By MicroPyramid

Need any Help in your Project?Let's Talk

Latest Comments
Deploying Wordpress blog with Django using Docker Containers.

Containers run services in an isolated environment, if we deploy our applications using containers then the host system on which these containers are running will ...

Continue Reading...
Configuring WordPress Blog as sub-directory alongside Django in Nginx

Using regular expressions within Nginx we can bind urls to particular application servers, below we will configure wordpress blog and django site to be deployed ...

Continue Reading...
Gitlab and Docker - Continuous Integration, Deployment and Continuous Delivery

In this blog post, we will learn how to setup and use gitlab container registry to implement, test build and deploy your code automatically with ...

Continue Reading...

Subscribe To our news letter

Subscribe and Stay Updated about our Webinars, news and articles on Django, Python, Machine Learning, Amazon Web Services, DevOps, Salesforce, ReactJS, AngularJS, React Native.
* We don't provide your email contact details to any third parties