<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## gzip壓縮 ### 概述 網頁在服務器端經過了gzip或者其他格式的壓縮后的輸出明顯減少了content-length字節,當訪問過百萬時,這些減少的字節就會變為客觀的流量給節約下來;從而減輕服務器的壓力以及網頁的訪問速度; ### 原理 客戶端在向服務端發送http請求時,在請求頭中有一個Accept-Encoding的頭信息,該頭信息告知服務器端本客服端能接收什么樣的壓縮文件,如果服務器端配置了壓縮的需求,就會返回相應的壓縮文件,然后瀏覽器再解碼呈現出來;我們在做采集時,需要采集的是未壓縮的文件,所以在http請求頭上不要包含Accept-Encoding的鍵; > 通過這個原理在php給app寫接口時,可做一些安全方面的處理,具體如何實現,期待和有經驗的app開發人員一起研究. ### Nginx的壓縮 在http段添加如下配置 ``` gzip on|off; #是否開啟gzip gzip_buffers 32 4K| 16 8K #緩沖(壓縮在內存中緩沖幾塊? 每塊多大?) gzip_comp_level [1-9] #推薦6 壓縮級別(級別越高,壓的越小,越浪費CPU計算資源) gzip_disable #正則匹配UA 什么樣的Uri不進行gzip gzip_min_length 200 # 開始壓縮的最小長度(再小就不要壓縮了,意義不在) gzip_http_version 1.0|1.1 # 開始壓縮的http協議版本(可以不設置,目前幾乎全是1.1協議) gzip_proxied # 設置請求者代理服務器,該如何緩存內容 gzip_types text/plain application/xml # 對哪些類型的文件用壓縮 如txt,xml,html ,css gzip_vary on|off # 是否傳輸gzip壓縮標志 ``` **Example** ``` gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\."; ``` **注意:** 1. 圖片/mp3這樣的二進制文件,不必壓縮,因為壓縮率比較小, 比如100->80字節,而且壓縮也是耗費CPU資源的. 2. 比較小的文件不必壓縮,意義不存在. ## expire瀏覽器緩存設置 ### 概述 這里的緩存控制主要是針對圖片,css,js等**變化周期較短的靜態文件**;以圖片為例,當我們第一次訪問這張圖片時,服務器返回的是200,同時在響應頭返回了兩個鍵,Etag:即該文件的'指紋'(唯一標識)以及Last-Modified:'文件的修改時間';此時瀏覽器,以及其他的緩存服務器就會把這張圖片給緩存起來;再次請求這張圖片時,請求頭增加了兩個鍵值,If-Modified-Since:上次發生改變的時間;If-None-Match:上次文件本身的Etag值,服務器根據這兩個鍵值判斷其Etag和Last-Modified,如果都沒發生改變就不返回這張圖片,只返回一個304的狀態碼,服務器接收到這個304的狀態碼就會自己去從緩存里面找這個被緩存的圖片; 這樣就減少了服務器的帶寬壓力以及提升了網站訪問速度; ### 配置 在location段以及if段可以設置 ``` location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } ``` 格式 expires 30s; expires 30m; expires 2h; expires 30d; **注意:服務器的日期要準確,如果服務器的日期落后于實際日期,可能導致緩存失效**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看