加速网站速度的建议之服务器篇二

558 阅读3分钟

这是我参与更文挑战的第27天,活动详情查看: 更文挑战

内容篇服务器篇一(CDN, 缓存)后,我们来继续学习关于加速网站速度的其他可行方法。

其他加速网站速度的建议:

服务器

Gzip压缩响应内容

简单来说,就是通过压缩服务器响应内容,加速Http响应时间。

实现机制是,Web客户端,即浏览器请求时,在请求头中添加:

Accept-Encoding: gzip, deflate

则服务器在返回响应数据时,就会以相应的方式压缩响应内容,并在响应头中添加:

Content-Encoding: gzip

告诉浏览器其内容是通过Gzip压缩的。雅虎文中提到,通过Gzip,可以减少70%的响应规模。

百度百科关于Gzip的解释:HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。一般对纯文本内容可压缩到原大小的40%。

Gzip对文本内容,如html,js,css,xml,json等,都是值得的;而对图像,pdf等已使用其他相关算法压缩过的内容并没有明显压缩效果。

Apache/Nginx均支持配置Nginx。

配置ETag Entity tags

ETag是用来判断浏览器缓存是否和服务器上的一致的一个标签。

百度百科中阐述,服务端响应内容中设置:

ETag:"50b1c1d4f775c61:df3"

而浏览器请求时,则添加:

If-None-Match : W / "50b1c1d4f775c61:df3"

如果ETag没改变,则服务器响应304,浏览器收到响应后从缓存加载内容。

HTTP状态码304:服务端已经执行了GET,但文件未变化。

关于ETag这一点,自己不曾使用过,担心阐述错误。如有错误,还望指正!

尽早刷新输出缓冲

这一点,简单来讲,就是讲js、css等资源文件放在HTML的头部,在整个HTML未完全加载解析的情况下,并行的同步下载js、css资源文件。

使用GET来完成AJAX请求

POST过程是:先发送文件头,才发送数据。需要两步;GET只需发送一个TCP包。 但是,URL长度过长时,则需要使用POST。

而且“GET”表示获取数据,而“POST”表示发送数据。

关于各个浏览器的GET-URL的最大长度:

1、IE:2083(2K+53)

2、firefox:65536

3、chrome:8182

4、Safari: 80000

5、Opera: 190000

避免Img空src

空的Img-src会导致浏览器执行以下请求:

  1. IE: 请求相应页面的目录。

  2. Chrome/Safari:请求相应页面本身。

  3. Firefox: 3.5版本前与Chrome/Safari一样;其后版本则不发送请求。

  4. Opera:Do-nothing。

  5. 加速网站速度的建议之内容篇

  6. 加速网站速度的建议之服务器篇一