HTTP2和SPDY协议——使HTTP更快更安全_java

HTTP/2是HTTP/1的下一个版本,HTTP/1无法处理现在的web,因为现在的web资源更加密集,它无法有效地处理多个请求。HTTP/2有许多技术可以利用当前web体验的需求。

SPDY是HTTP/2协议的核心部分,许多HTTP/2协议技术都是SPDY的一部分。

SPDY(speed)是一种网络协议,它通过压缩报头、预测客户端请求(下面讨论的示例)和其他技术来操纵http协议,以加强web体验。

SPDY是由谷歌开发的。但是,由于支持使用SPDY技术的http/2,所以不赞成使用SPDY。谷歌说,在使用http/1之前,SPDY会提高你的网站速度,speed (SPDY)会将网站速度提高到55%。

SPDY支持所有主要的浏览器(firefox, chrome, opera, safari, ie)。

为什么速度快:

1。压缩。

快速压缩报头,它将跟踪这个特定会话中的报头是否已经发送,如果发送报头已经完成,那么在会话过期之前重新发送报头是没有用的。

2。预取:

如果客户机请求包含一些链接(css样式表)的html文件,那么在http/1协议中,客户机应该发送请求以获取这些链接(css样式表)。在这种情况下,快速服务器可以解析html、包含这些链接并发送,而无需等待客户端请求链接。

3.优先级:

HTTP/1处理有限的并行连接,如基于浏览器的6-8,如果连接更多,则我们必须等到以前的连接被解决,所以即使有重要的连接,我们也要等待。通过使用优先级流来快速解决问题,所以最紧急的请求将首先得到解决。

4 最重要的是多路复用:

如上所述,关于有限的并行连接,multiplexing可以解决这个问题,multiplexing基本上就是将多个信号组合成一个,所以快速浏览器将它的多个请求合并为一个请求并发送到服务器,然后服务器将请求(多路复用)划分为原始请求数并进行响应。

快速是快速的,因为额外的工作是由客户端和服务器完成上面的任务。

虽然http/2的核心速度很快,但http/2可以处理多主机多路复用,加密速度更快,压缩速度更快。

HTTP / Nginx 2:

Nginx从1.9.5版本开始支持http/2,所以如果您使用的是长期支持OS版本,比如Ubuntu 14.04,那么在安装Nginx之前,您应该向源列表中添加最新的Nginx deb repo。

如果您的nginx版本低于1.9.5,请遵循以下命令

wget - o - http://nginx.org/keys/nginx_sign. key | sudo ap -key add -

echo " deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx " | sudo tee -a /etc/apt/sources.list

echo“deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx”| sudo tee -a /etc/apt/sources.list。

sudo apt-get更新

sudo apt-get安装nginx

最后替换:

listen 443 ssl;

listen 443 ssl http2;

重新加载Nginx。

这是它. .你已经准备好出发了。

要检查http2是否打开,请访问:https://tools.keycdn.com/http2-test或checkout chrome嗅探扩展,显示站点的详细信息,无论是使用nginx、jquery、disqus等。如果启用了http2或spdy协议,它将显示spdy。