跨境电商
经验交流分享

通过GZIP实现服务器提速

在日常的电脑应用当中,rar,zip等格式的压缩文件非常常见,往往一个非常大的文件,在压缩之后,体积会变的非常小。例如我们在QQ中传递Magento购物车程序文件的时候,都会事先对整个文件打包压缩,来节省传递时间。

服务器请求

典型的HTTP请求

典型的HTTP请求

在上图中我们可以看到,当一个网站的页面非常大的时候,从服务器传递到用户的浏览器上就需要花费不少时间。举例来说,如果你所请求的网站页面是1000kb,而你的带宽只有100kb,那么这些内容从服务器上下载到你的电脑当中就需要花上10秒时间。那么当我们访问一个网站页面的时候,有没有可能从服务器返回的页面是压缩后的页面呢?答案是可以。Apache中的mod_deflate模块可以实现该功能。

启用压缩之后的HTTP响应流程

启用压缩之后的HTTP响应流程

如上图所示,当安装并正确配置了Apache中的mod_deflate模块之后,客户再次请求相同的页面,服务器端在获取请求,并找到正确页面之后,会在服务器端将请求的数据进行压缩再返回给客户浏览器。这样一来,即节省了服务器的带宽,同时也提高了网站的加载速度。

配置Apache启用压缩

Apache的压缩功能依赖mod_deflate模块或者mod_gzip,mod_gzip包含了预压缩的功能,功能上来说更为强大些。当然,mod_deflate已经够用了。

首先需要确定Apache是否已经启用了mod_deflate模块,一般的空间应该都默认启用的。VPS和服务器,可以在配置文件中查看下是否已经启用。

确定开启之后,我们就可以编辑.htaccess文件了,如下文件,我们可以在.htaccess中配置哪些格式的文件使用压缩功能。例如文本文件、html文件、css文件等。

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>

验证网站压缩

通过谷歌的PageSpeed可以检测访问的网站是否开启了压缩功能。如下图所示。

验证网站压缩

验证网站压缩

另外再推荐一个检测是否启用压缩的国外网站,http://gzipwtf.com/,只需要输入网址就可以获得详细的文件压缩信息,非常实用。

Ruiwant压缩测试结果

Ruiwant压缩测试结果

赞(0)
未经允许不得转载:锐想 » 通过GZIP实现服务器提速
分享到: 更多 (0)

评论 1

评论前必须登录!

 

锐想电商 - 跨境电商经验交流分享

锐想无限