<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 過濾器(Filter) 本文闡述Apache中過濾器的用法。 ## Apache 2 中的過濾器 相關模塊 * `mod_filter` * `mod_deflate` * `mod_ext_filter` * `mod_include` * `mod_charset_lite` 相關指令 * `FilterChain` * `FilterDeclare` * `FilterProtocol` * `FilterProvider` * `AddInputFilter` * `AddOutputFilter` * `RemoveInputFilter` * `RemoveOutputFilter` * `ExtFilterDefine` * `ExtFilterOptions` * `SetInputFilter` * `SetOutputFilter` Apache 2.0 及以后的版本中使用了過濾器鏈,使得應用程序能夠以高度靈活的、可配置的方式處理進入的數據和輸出的數據,而無需關心這些數據來自哪里。我們可以預處理進入的數據和后處理(post-process)輸出的數據。這些過程基本上獨立于傳統的請求處理階段。 ![Filters can be chained, in a Data Axis orthogonal to request processing](https://box.kancloud.cn/2015-12-14_566e61482f2c7.gif) 標準Apache發行版中的一些過濾器實例: * `mod_include`實現了服務端包含。 * `mod_ssl`實現了SSL加密(https)。 * `mod_deflate`實現了實時壓縮/解壓。 * `mod_charset_lite`在不同的字符集之間自動轉換。 * `mod_ext_filter`將一個外部程序作為過濾器運行。 Apache還在內部使用許多過濾器來對請求執行諸如分塊、字節層次處理(byte-range handling)等功能。 可以從[modules.apache.org](http://modules.apache.org/)或別處得到許多通過第三方過濾器模塊實現的應用程序。其中的一些是: * HTML和XML處理和重寫 * XSLT變換XIncludes * XML名字空間支持 * 文件上傳處理和HTML表格解碼 * 圖像處理 * 保護諸如PHP腳本之類的脆弱應用程序 * 文本搜索和替換編輯 ## 智能過慮 ![Smart filtering applies different filter providers according to the state of request processing](https://box.kancloud.cn/2015-12-14_566e614840a37.gif) Apache 2.1 及以后的版本中包含的`mod_filter`模塊允許過慮器鏈在運行時進行動態配置。舉例來說,你可以在代理無法得到原始服務器發送的初始信息的情況下,安裝一個使用不同的過濾器來分別重寫HTML、處理JPEG圖片的代理。這是通過使用一個過濾器束(filter harness)來工作的,該過慮器束在運行時根據實際內容的不同將任務分配給不同的提供者(provider)。任何一個過濾器都何以被直接插入到過濾器鏈中并無條件的運行,或者動態的作為一個提供者(provider)插入。例如: * HTML處理過濾器僅在內容是text/html或application/xhtml+xml的情況下才運行 * 壓縮過濾器僅在輸入是一個未經壓縮的可壓縮類型的內容的情況下才運行 * 字符集轉換過濾器僅在一個文本文檔不是期望的字符集的情況下才被插入 ## 使用過濾器 有兩種使用過濾器的方法:簡單方法和動態方法。通常,你應當使用兩者之一;混合使用它們可能會導致意想不到的后果(雖然簡單方法的輸入過濾器可以和簡單或動態方法的輸出過濾器混合使用)。 _簡單方法_是配置輸出過濾器的唯一方法,并且對于需要靜態過濾器鏈的輸出過濾器來說是足夠的。相關的指令有: `SetInputFilter`, `SetOutputFilter`, `AddInputFilter`, `AddOutputFilter`, `RemoveInputFilter`, `RemoveOutputFilter` 。 _動態方法_使輸出過濾器能夠進行靜態的或者靈活的動態配置成為可能,詳情請參見`mod_filter`模塊文檔。相關指令有: `FilterChain`, `FilterDeclare`, `FilterProvider` 。 一個更高級的指令`AddOutputFilterByType`也被支持,但是可能存在一些問題,目前還不贊成使用它,而代之以動態配置。
                  <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>

                              哎呀哎呀视频在线观看