zoukankan      html  css  js  c++  java
  • JavaScript压缩

    JavaScript压缩

          当网页浏览器请求一个资源时,它通常发送一个Accept-Encoding的HTTP头(以HTTP/1.1 开始)让网页服务器知道传输所支持的编码类型。此信息主要用于允许文档压缩以获得更快下载速度,从而改善用户体验。Accept-Encoding 的取值范围是:gzip,compress,deflate,和identity(这些值已经在以太网地址分配机构(即IANA)注册)。
          如果网页服务器在请求报文中看到这些信息头,它将选择适当的编码方法,并通过Content-Encoding 的HTTP头通知浏览器。
          gzip大概是目前最流行的编码格式。它通常可将有效载荷减少到70%,成为提高网页应用性能的有力武器。注意gzip压缩器主要用于文本报文,包括JavaScript文件。其他文件类型,如图片和PDF文件,不应该使用gzip压缩,因为它们已经压缩,如果试图再次压缩只会浪费服务器资源。
          如果您使用Apache网页服务器(目前最流行的),启用gzip压缩功能需要安装并配置mod_gzip模块(针对Apache 1.3,位于http://www.schroepl.net/projekte/mod_gzip/)或者mod_deflate模块(针对Apache 2)。

          由Yahoo!搜索和Google 独立完成的最新研究表明,美国大型网站提供的内容中有大约15%未经过压缩。大多数因为在请求报文中缺少Accept-Encoding 的HTTP头,它被一些公司代理、防火墙、甚至PC安全软件剔除了。虽然gzip压缩是一个惊人的网页开发工具,但还是要注意到这个事实,尽量书写简洁的代码。另一种技术是提供替代的JavaScript内容,使那些不能受益于gzip压缩的用户,可以使用更简单的用户体验(用户可以选择切换回完整版本)。
          为此,值得提到Packer (http://dean.edwards.name/packer/),由Dean Edwards开发的一个JavaScript紧凑工具。Packer对JavaScript压缩能够超过YUI压缩器的水平。考虑下面对jQuery库的压缩结果(版本1.3.2,下载地址http://www.jquery.com/):

          jQuery 120,180 bytes
          jQuery + YUI Compressor 56,814 bytes
          jQuery + Packer 39,351 bytes
          Raw jQuery + gzip34,987 bytes
          jQuery + YUI Compressor + gzip19,457 bytes
          jQuery + Packer + gzip19,228 bytes
          经过gzip压缩之后,jQuery库经过Packer或YUI压缩器产生的结果非常相近。然而,使用Packer压缩文件导致一个固定的运行时代价(在我的不落后的笔记本电脑上大约是200至300毫秒)。因此,使用YUI压缩器和gzip结合总能给出最佳结果。然而,Packer可用于网速不高或者不支持gzip压缩的情况,解压缩的代价与下载大量代码的代价相比微不足道。为不同用户提供不同JavaScript的唯一缺点是质量保证成本的增加。

    原创文章,转载请注明: 转载自http://www.yiiyaa.net/
    本文链接地址: http://www.yiiyaa.net/1294
  • 相关阅读:
    送股分红是怎么回事?
    基金申购费用计算
    msn 爬楼梯
    沪市证券交易费用
    OS X
    见到郎咸平:)
    Long long time_Blog更新了
    生~气:)
    突然想起去年的今天
    久久沉思以后
  • 原文地址:https://www.cnblogs.com/SophiaTang/p/2602422.html
Copyright © 2011-2022 走看看