HTTP协议就是浏览器和服务器对话的语言。现在大部分人用的还是HTTP/1.1,它有个老毛病:一次只能传一个文件。你网站一个页面有20个文件(HTML+5张图+CSS+JS),HTTP/1.1要排队一个个传。HTTP/2可以同时传多个。
HTTP/2为什么快
第一,多路复用:一个连接里同时传多个文件,不用排队。
第二,头部压缩:HTTP请求头每次都重复发一堆信息,HTTP/2把头部压缩了,传输量更小。
第三,服务器推送:服务器可以主动把客户需要的资源推给他,不用客户一个个请求。
开了HTTP/2之后,特别是图片多的网站,打开速度提升非常明显。
怎么开启
前提:你网站已经装了HTTPS证书(前面文章讲过SSL)。HTTP/2只在HTTPS下生效。
用宝塔面板的话,网站设置里有「SSL」选项卡,装完证书之后下面有个「HTTP/2」开关,打勾保存。重启Nginx就生效。
怎么验证开了没?用在线检测工具搜「HTTP/2 test」,输入你网站,它告诉你是不是用了HTTP/2。
注意
HTTP/2是服务器到客户浏览器这一段的优化,不是让你服务器本身变快。但客户访问你的感受确实是变快了。
现在主流浏览器都支持HTTP/2,不用担心老客户打不开。HTTPS+Gzip+浏览器缓存+HTTP/2,这四件套开齐了,小站速度基本就到顶了。


