js乱码 引起页面错误。清除缓存js时好时坏, 请求静态文件 状态码:206

记一次平台页面错误。

平台清除缓存后,引入 jquery.ztree.core.js乱码导致页面错误。多次清除缓存,时而正常,时而乱码很是不解

js中乱码

第一反应:js有问题,去官网下载完整版未修改过的js文件。

经过测试: 还是一样。

 

第二反应: 百度,经过百度查询,$.fn.zTree.init($("#treeDemo1"), setting1);  init方法未定义。是因为父页面和兄弟页面中多次引入Jquery.js冲突引起的。

经过测试:完犊子,不行。

 

第三反应:后台乱码?   修改tomcat 的service.xml文件。怎么想怎么不对,这里配置的防止GET请求url中此参数乱码,不应该影 响js啊,并且js中全部都是英文,怎么会乱码呢?

<Connector executor="tomcatThreadPool"
               port="8098" protocol="org.apache.coyote.http11.Http11NioProtocol"
         URIEncoding="UTF-8"/>

经过测试:一样不行。

 

最后发现只要乱码,请求状态码就时206:

    经过百度得出一下结论:

      Nginx代理之后会有相应的代理缓存区,缓存区默认只有几十K,某些版本的nginx默认设置中没有相关处理,导致部分文件代理是会出现加载不全的现象,其实不仅仅是JS文件。只是因为框架的JS文件略大,所以经常出现类似问题。

决定修改nginx.config配置试试

第一增大nginx代理的缓冲区

proxy_buffer_size 128k;
proxy_buffers   32 128k;
proxy_busy_buffers_size 128k;

这三个参数什么意思呢?下面时我从官网翻译出来的;你英文好的话:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size

 经过测试:好使

最后把gzip压缩也一起加上,能到达什么效果呢?

     1. js等大文件传输速度快,因为文件压缩了。传输肯定不一样。

     2. 节约带宽。

。。。。上代码:

    
    gzip  on;
    gzip_min_length 1;
    gzip_buffers 4 16K;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types application/javascript text/css text/xml;
    gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
    gzip_vary on;
  • gzip 用于设置开启或者关闭gzip模块,“gzip on”表示开启GZIP压缩,实时压缩输出数据流;
  • gzip_min_length 设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取。默认值是0,不管页面多大都进行压缩。建议设置成大于1K的字节数,小于1K可能会越压越大;
  • gzip_buffers 表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果;
  • gzip_http_version 用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可;
  • gzip_comp_level 用来指定GZIP压缩比,1 压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源;
  • gzip_types 用来指定压缩的类型,无论是否指定,“text/html”类型总是会被压缩的;
  • gzip_disable "MSIE [1-6]\.";  #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
  • gzip_vary 选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用Squid缓存经过Nginx压缩的数据。

 

整完页面呼呼地。

附上一份比较详细的nginx配置文档:https://blog.csdn.net/wangbin_0729/article/details/82109693

 

 

 

 

 

 

 

发布了9 篇原创文章 · 获赞 3 · 访问量 9226
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章