Nginx启用gzip很简单,只需要设置一下配置文件即可完成,可以参考文章Nginx如何配置Gzip压缩功能。不过,在群里常有人提到,他们的网站Gzip压缩虽然成功了,但检测到JS仍然没有压缩成功,这是为什么呢?经过我的检查发现,原来是他们的gzip_types设置不对造成的,本文就为遇到同样情况的人解决这一问题。

Nginx启用Gzip压缩js无效

某群友在群里提到,他启用了网站的Gzip压缩,通过站长工具Gzip压缩检测检测到启用成功了,想着其他文件如CSS、JS等也都压缩成功了,但是通过进一步检测各种类型的压缩情况,发现JS文件并没有启用Gzip压缩,这令他非常纳闷,不知何故。

图1:Nginx启用Gzip压缩js无效

根据经验,我认为可能原因是他的配置文件里gzip_types的内容没有写对,于是问他gzip_types的内容是什么,他说是这样设置的:

图2:gzip_types的配置

我仔细看了他的gzip_types的内容,再看图1中的Header信息,发现Content-Type项的“application/javascript”并没有出现在他的gzip_types内容里,于是我叫他把“application/javascript”写到他的gzip_types里,他按照我的要求做了后,再检测一下,js文件的gzip压缩终于启用成功了。

图3:Nginx启用Gzip压缩js成功

经验

上述案例是该群友没有在gzip_types里加入“application/javascript”而导致其JS文件没有压缩成功,但是经发现,某些群友即使加入了“application/javascript”也同样出现JS文件没有压缩成功的状况,这是为什么呢?原来,各网站的JS类型“content-type”内容不尽相同,Nginx配置gzip是要把各种类型文件的“content-type”内容加进去才行,不加进去就不能被压缩。

所以,当发现Nginx压缩JS没有成功时,可先查看网站JS的Header信息,如图1那样检测(地址:http://pagespeed.webkaka.com/youhua/gzip/),便可获得js文件的“content-type”内容。获得其“content-type”内容,再看看配置文件的gzip_types里有没有此项内容,如果没有,加入去即可解决问题。

一键检测网站各类型文件是否启用gzip

值得注意的问题是,网站启用了Gzip压缩并不等于各类型文件都启用了Gzip压缩,这与设置是否得当有关。不过如果需要你一个个文件的输入去检测,那未免有点繁琐。为此,卡卡网可以帮助你解决这一烦恼,一键检测网站各类型文件是否启用gzip压缩。检测地址是http://pagespeed.webkaka.com/,检测结果看下图:

图4:一键检测网站各类型文件是否启用gzip

Nginx启用Gzip压缩js无效的原因的更多相关文章

  1. IIS启用GZIP压缩js、css无效的原因及解决方法

    IIS启用GZIP压缩之后,原以为可以压缩所有文件了,包括html.CSS.JS.图片这些文件,但是当我检查的时候,发现并不是这样的,压缩的只有html文件,而CSS.JS并没有压缩 在卡卡网的网站速 ...

  2. Nginx 启用gzip压缩

    1. 网页压缩 网页压缩是一项由 WEB 服务器和浏览器之间共同遵守的协议,也就是说 WEB 服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括 IE.FireFox.Opera ...

  3. IIS7.5打开GZip压缩,同时启用GZip压缩JS/CSS文件的设置方法[bubuko.com]

    IIS7.5或者IIS7.0开启GZip压缩方法:打开IIS,在右侧点击某个网站,在功能视图中的“IIS”区域,双击进入“压缩”,如图下图: 分别勾选“启用动态内容压缩”和“启用静态内容压缩”.这样最 ...

  4. Nginx 开启gzip压缩(图片,文件,css)

    1.Vim打开Nginx配置文件 vim /usr/local/nginx/conf/nginx.conf 2.找到如下一段,进行修改 gzip on; gzip_min_length 1k; gzi ...

  5. iis7 压缩js文件和启用gzip压缩

    压缩js文件 打开IIS 7的配置文件:c:\windows\system32\inetsrv\config\applicationhost.config 在<staticContent loc ...

  6. 网站启用GZip压缩后,速度快了3倍!

    GZip压缩,是一种网站速度优化技术,也是一把SEO优化利器,许多网站都采用了这种技术,以达到提升网页打开速度.缩短网页打开时间的目的. 本文是一篇研究性文章,将通过某个案例来给大家显示网站采用GZi ...

  7. nginx 开启gzip压缩

    Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度,!  Web网站上的图片,视频等其它多媒体文件以及大文件,因为压缩效果不好,所以对于 ...

  8. 【Web优化】Yslow优化法则(四)启用Gzip压缩

    Yslow的第4个经验法则指出:启用gzip压缩功能,能够降低HTTP传输的数据和时间,从而降低client请求的响应时间. 本篇是Yslow法则的第四个,主要包含三个方面的内容: 1.      什 ...

  9. 怎样在Nginxserver中启用Gzip压缩

    原文链接: Enable GZIP Compression on nginx Servers原文日期: 2014年7月16日翻译日期: 2014年7月19日翻译人员: 铁锚 速度决定一切,没有什么比一 ...

随机推荐

  1. 08-----pymysql模块使用

    pymysql的下载和使用 exctue() 之sql注入 增.删.改:conn.commit() 查:fetchone.fetchmany.fetchall   一.pytmysql的下载和使用  ...

  2. java——如何通过class调用该类的方法并获得返回值?(反射)

    demo: public class T{ public static void main(String[] args) throws Exception{ //获得Person的Class对象 Cl ...

  3. 阿里云服务器mail 命令发邮件

    一.申请开通25端口 https://yundun.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.188.KbmgKc&p=sc# ...

  4. linux下pid命令

    ps aux | grep tomcat|  awk '{if(NR==1)print $2}' Linux:批量修改分隔符(awk.BEGIN.FS.OFS.print.tr命令) 批量修改文件的分 ...

  5. Typora中给代码块设置快捷键

    Tpyore中大部分的操作都是有快捷键的.但是有那么几个常用的却没有快捷键.就比如代码块,这个常用的操作,还有有序无需列表. 下边教会你怎么设置快捷键,打开设置,Preferences[偏好设置],然 ...

  6. Java 实践

    /** *宠物就是一个标准,包含多类宠物 *定义宠物标准接口Pet *定义Cat和Dog两个Pet接口的子类 *使用链表结构动态存储宠物信息 *定义商店类(工厂类),负责宠物的上架(链表添加).下架( ...

  7. 多线程编程_CountDownLatch

    CountDownLatch是JAVA提供在java.util.concurrent包下的一个辅助类,可以把它看成是一个计数器,其内部维护着一个count计数,只不过对这个计数器的操作都是原子操作,同 ...

  8. (转)AIX 5.3 安装中文语言包

    AIX 5.3 安装中文语言包 原文:http://blog.51cto.com/lubby/571648 在AIX操作系统安装国内软件厂商使用的一些应用软件中,会涉及到一些中文乱码问题(我就是在部署 ...

  9. TouchSlide 触屏滑动特效插件

    TouchSlide 是纯javascript打造的触屏滑动特效插件,面向手机.平板电脑等移动终端,能实现触屏焦点图.触屏Tab切换.触屏多图切换等常用效果. 插件开源.体积小.简单实用.功能强大,是 ...

  10. Windbg工具使用

    https://www.cnblogs.com/startpoint/p/4194052.html https://www.cnblogs.com/lyl6796910/p/7613664.html ...