【TOMCAT】Tomcat gzip壓縮傳輸數據


概述

由於我們項目的三維模型文件非常大,為了提高傳輸速度,在服務端對其做zip壓縮處理非常有必要,能夠極大的提高傳輸速度。

配置

首先需要修改web.xml中請求的數據文件的mime類型的mapping映射關系配置,例如為后綴名為s3m的二進制數據文件添加映射關系:

<mime-mapping>
        <extension>s3m</extension>
        <mime-type>application/octet-stream</mime-type>
</mime-mapping>

即.s3m文件對應的mime類型為application/octet-stream。然后編輯tomcat的配置文件server.xml的Connector 元素(HTTP Connector 元素是對http/1.1協議支持的一個連接組件)

<Connector port="8090"
               protocol="HTTP/1.1"              
               connectionTimeout="20000"
               redirectPort="8453"
               executor="tomcatThreadPool"
               enableLookups="false" 
               URIEncoding="utf-8"
               compression="on"
               compressionMinSize="2048"
               useSendfile = "false"
               compressableMimeType="application/octet-stream"
               />

其中compression=”on”設置開啟壓縮,

compressionMinSize=”2048”設置壓縮數據的最小值,即數據的字節數必須達到2048個才啟用壓縮,

compressableMimeType="application/octet-stream"

設置為對應mime類型文件的數據進行壓縮,正如前面我們在webxml中配置的映射,

此外,tomcat默認設置是當數據大小達到48kb時,將啟用文件傳輸(sendfile),所以我們想要壓縮超過48kb的數據時必須將useSendfile設置為false,具體看官方文檔解釋。

配置好以上信息后重啟tomcat,看看iserver中發布數據的效果。

 

可以看到原文件為117k,壓縮后變為66k,而瀏覽器可對數據進行相應格式的解壓縮。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM