<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Apache模塊 mod_deflate | [說明](#calibre_link-11) | 壓縮發送給客戶端的內容 | | --- | --- | | [狀態](#calibre_link-12) | 擴展(E) | | [模塊名](#calibre_link-13) | deflate_module | | [源文件](#calibre_link-14) | mod_deflate.c | ### 概述 `mod_deflate`模塊提供了`DEFLATE`輸出過濾器,允許服務器在將輸出內容發送到客戶端以前進行壓縮,以節約帶寬。 ## 配置舉例 這是一個針對心急者的示范配置: ### 僅僅壓縮少數幾種類型 ``` AddOutputFilterByType DEFLATE text/html text/plain text/xml ``` 以下允許壓縮更多內容的配置更加復雜。除非你明白所有的配置細節,否則請不要使用。 ### Compress everything except images ``` <Location /> # 插入過濾器 SetOutputFilter DEFLATE # Netscape 4.x 有一些問題... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 有更多的問題 BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE 會偽裝成 Netscape ,但是事實上它沒有問題 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # 不壓縮圖片 SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary # 確保代理不會發送錯誤的內容 Header append Vary User-Agent env=!dont-vary </Location> ``` ## 啟用壓縮 ### 輸出壓縮 壓縮是由`DEFLATE`[過濾器](#calibre_link-15)實現的。下面的指令會對其所在容器中的文檔啟用壓縮: ``` SetOutputFilter DEFLATE ``` 一些流行的瀏覽器不能正確處理所有壓縮內容,因此你可能需要將`gzip-only-text/html`標記設為"`1`"來僅僅允許壓縮html文件(見下面)。如果你設置了_"`1`"以外的任何值_,都將被忽略。 如果你想將壓縮限制在幾種特定的MIME類型上,可以使用`AddOutputFilterByType`指令。下面的例子僅僅允許對html文檔進行壓縮: ``` <Directory "/your-server-root/manual"> AddOutputFilterByType DEFLATE text/html </Directory> ``` 對于那些不能正確處理所有壓縮內容的瀏覽器,可以使用`BrowserMatch`指令針對特定的瀏覽器設置`no-gzip`標記以取消壓縮。為了取得更好的效果,你可以將`no-gzip`和`gzip-only-text/html`配合使用。在這種情況下,下面的設置將會覆蓋上面的設置。看看從[配置示例](#calibre_link-1035)中摘錄的片斷: ``` BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html ``` 第一條指令表示如果`User-Agent`字符串表示它是一個Navigator 4.x的瀏覽器,這種瀏覽器不能正確處理除`text/html`之外的所有類型。而4.06, 4.07, 4.08版的Navigator完全不能處理任何壓縮內容,因此第二條指令對這些瀏覽器完全禁用壓縮。 第三個`BrowserMatch`指令修正了上面兩條對瀏覽器的推測,因為微軟的IE也將它自己標識成"Mozilla/4"但是它實際上能夠處理所有的壓縮內容。因此又在`User-Agent`頭中額外匹配了字符串"MSIE"("`\b`"表示"單詞邊界"),并且取消了前面的限制。 ### 注意 `DEFLATE`過濾器總是在類似于PHP或SSI之類的資源過濾器之后插入,它永遠不會觸及到內部請求。 ### 注意 通過`SetEnv`設置`force-gzip`環境變量將會忽略瀏覽器的"accept-encoding",始終發送經過壓縮的內容。 ### 輸出解壓 `mod_deflate`模塊還提供了一個解壓gzip格式的應答體的功能。為了激活這個特性你必須使用`SetOutputFilter`或`AddOutputFilter`指令將`INFLATE`過濾器插入到輸入過濾器鏈: ``` <Location /dav-area> ProxyPass http://example.com/ SetOutputFilter INFLATE </Location> ``` 這個例子將會解壓來自example.com的輸出,這樣其它過濾器就可以做進一步的處理了。 ### 輸入解壓 `mod_deflate`模塊還提供了一個解壓gzip格式的請求體的功能。為了激活這個特性你必須使用`SetInputFilter`或`AddInputFilter`指令將`DEFLATE`過濾器插入到輸入過濾器鏈。例如: ``` <Location /dav-area> SetInputFilter DEFLATE </Location> ``` 這樣,如果包含"`Content-Encoding: gzip`"頭的請求體將會被自動解壓。極少有瀏覽器壓縮請求體。然而有些程序的確這么做了,比如一些[WebDAV](http://www.webdav.org)客戶端程序。 ### 注意 Content-Length 如果你自己處理請求體,請注意`Content-Length`頭僅僅表示客戶端輸入的數據長度,而_不是_解壓后的實際數據長度。 ## 代理服務器 `mod_deflate`模塊發送一個"`Vary: Accept-Encoding`"HTTP應答頭以提醒代理服務器:只對發送了正確"`Accept-Encoding`"頭的客戶端發送緩存的應答。這樣可以防止不能正確處理壓縮內容的瀏覽器接受到經過壓縮的內容。 如果你按照某些特殊的條件拒絕了某些客戶端的訪問(比如`User-Agent`頭),你必須手動配置一個額外的`Vary`頭提醒代理服務器做額外的限制。比如,在一個典型的配置中的某處,如果額外的`DEFLATE`過濾器是否生效取決于`User-Agent`頭,你應當在此處添加: ``` Header append Vary User-Agent ``` 如果依照除請求頭以外的其他條件決定是否使用壓縮(例如:HTTP版本),你必須設置`Vary`頭的值為"`*`"來完全阻止代理服務器的緩存。 ### 示例 ``` Header set Vary * ``` ## DeflateBufferSize 指令 | [說明](#calibre_link-18) | 用于zlib一次壓縮的片斷大小(字節) | | --- | --- | | [語法](#calibre_link-19) | `DeflateBufferSize value` | | [默認值](#calibre_link-24) | `DeflateBufferSize 8096` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_deflate | `DeflateBufferSize`指令定義了zlib一次壓縮的片斷的字節數。 ## DeflateCompressionLevel 指令 | [說明](#calibre_link-18) | 將輸出內容壓縮的程度 | | --- | --- | | [語法](#calibre_link-19) | `DeflateCompressionLevel value` | | [默認值](#calibre_link-24) | `Zlib的默認值` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_deflate | | [兼容性](#calibre_link-137) | 僅在 Apache 2.0.45 及以后的版本中可用 | `DeflateCompressionLevel`指令設置壓縮程度,越高的壓縮程度就會有越好的壓縮效果,同時也意味著占用越多的CPU資源。 取值范圍在 1(最低壓縮率) 到 9(最高壓縮率)之間。 ## DeflateFilterNote 指令 | [說明](#calibre_link-18) | 在日志中放置壓縮率標記 | | --- | --- | | [語法](#calibre_link-19) | `DeflateFilterNote [type] notename` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_deflate | | [兼容性](#calibre_link-137) | type僅在2.0.45以后版本中可用 | `DeflateFilterNote`指令指定將一個指示壓縮率的標記附加在請求之后。notename就表示這個標記的名字。你可以為了某種統計目的將這個標記的名字添加到[訪問日志](#calibre_link-492)中。 ### 示例 ``` DeflateFilterNote ratio LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate CustomLog logs/deflate_log deflate ``` 如果你想從日志中得到更多精確的數據,可以使用type參數指定notename標記所記錄的數據類型。type的取值范圍如下: `Input` 在標記中存儲過濾器輸入流的字節數。 `Output` 在標記中存儲過濾器輸出流的字節數。 `Ratio` 在標記中存儲過濾器的壓縮比(`輸出/輸入*100`)。這是type的默認值。 于是,就可以這樣記錄: ### Accurate Logging ``` DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate CustomLog logs/deflate_log deflate ``` ### 參見 * `mod_log_config` ## DeflateMemLevel 指令 | [說明](#calibre_link-18) | zlib在壓縮時最多可以使用多少內存 | | --- | --- | | [語法](#calibre_link-19) | `DeflateMemLevel value` | | [默認值](#calibre_link-24) | `DeflateMemLevel 9` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_deflate | `DeflateMemLevel`指令指定zlib在壓縮時最多可以使用多少內存(取值范圍在1到9之間)。 ## DeflateWindowSize 指令 | [說明](#calibre_link-18) | Zlib壓縮窗口(compression window)的大小 | | --- | --- | | [語法](#calibre_link-19) | `DeflateWindowSize value` | | [默認值](#calibre_link-24) | `DeflateWindowSize 15` | | [作用域](#calibre_link-20) | server config, virtual host | | [狀態](#calibre_link-21) | 擴展(E) | | [模塊](#calibre_link-22) | mod_deflate | `DeflateWindowSize`指令設定zlib壓縮窗口(compression window)的大小(取值范圍在1到15之間)。通常窗口越大壓縮效果越好。
                  <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>

                              哎呀哎呀视频在线观看