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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章