日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

如何使用HTTP压缩优化服务器

發(fā)布時(shí)間:2023/11/29 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用HTTP压缩优化服务器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
鑒于互聯(lián)網(wǎng)上的寬帶有限,網(wǎng)絡(luò)管理人員任何旨在加速接入速度的努力都是有價(jià)值的。其中的一個(gè)方法就是通過(guò)HTTP壓縮技術(shù)實(shí)現(xiàn)接入速度的加速,它通過(guò)減少在服務(wù)器和客戶(hù)端之間傳輸?shù)臄?shù)據(jù)量,顯著地提高網(wǎng)站的性能。數(shù)據(jù)壓縮本身并不新鮮。但是,這種方法的特色在于對(duì)服務(wù)器到客戶(hù)端之間的數(shù)據(jù)壓縮是實(shí)時(shí)的,很少有用戶(hù)知道這種方法。 HTTP壓縮技術(shù),無(wú)需客戶(hù)端配置,它是一種最為簡(jiǎn)便的提高網(wǎng)絡(luò)速度的方法。本文旨在討論這種技術(shù)是如何工作的?其優(yōu)點(diǎn)是什么以及如何實(shí)現(xiàn)在ApacheIIS上的數(shù)據(jù)壓縮? 為何要壓縮? 絕大多數(shù)的用戶(hù)對(duì)壓縮技術(shù)的了解來(lái)自對(duì)下載的一大組文件進(jìn)行壓縮、解壓和打開(kāi)等體驗(yàn),這種壓縮技術(shù)也可以用于向客戶(hù)端傳輸?shù)臄?shù)據(jù)的壓縮方面,因?yàn)檫@是一種主動(dòng)的處理過(guò)程,服務(wù)器可以減少網(wǎng)頁(yè)發(fā)送的大小,從而降低用戶(hù)下載的時(shí)間,最大效率地利用寬帶。 通過(guò)壓縮技術(shù),你可以將HTML文件壓縮到原來(lái)大小的一半。這樣,把更多的時(shí)間留給了客戶(hù)端,去下載更多帶寬的工作量。這種壓縮,是在不影響網(wǎng)站實(shí)際工作流程、網(wǎng)頁(yè)設(shè)計(jì)和服務(wù)內(nèi)務(wù)等情況下實(shí)現(xiàn)的,唯一改變的是信息傳輸?shù)姆绞健?不過(guò),這種方法也有他的限制。 適合壓縮的文件類(lèi)型 當(dāng)然,并非所有的文件需要壓縮。比如,已經(jīng)壓縮的文件諸如JPEG、GIF、PNG、電影和打包內(nèi)容等不需要HTTP壓縮過(guò)濾技術(shù)。對(duì)它們?cè)俅螇嚎s將無(wú)法得到顯著減小文件體積的效果。 同時(shí),網(wǎng)站還有大量的文本內(nèi)容諸如HTML、XML、CSS和RSS等,他們都需要進(jìn)行壓縮。壓縮的程序取決于文件的類(lèi)型,絕大多數(shù)的HTML文本文件壓縮率為50%。而用了很格式的網(wǎng)頁(yè)(例如用了大量的表格來(lái)規(guī)劃頁(yè)面)可以進(jìn)一步壓縮,最大可壓縮到原有大小的三分之一。 幸運(yùn)的是,大多數(shù)HTTP服務(wù)器都提供了選擇對(duì)哪一類(lèi)型文件進(jìn)行壓縮的能力,服務(wù)器就可以選擇文件類(lèi)型進(jìn)行壓縮,那些不適合壓縮的文件會(huì)排除在外。
實(shí)現(xiàn)HTTP壓縮 HTTP壓縮,是服務(wù)器的功能,而瀏覽器也會(huì)自動(dòng)地支持而無(wú)需對(duì)客戶(hù)端進(jìn)行另外的配置。要想啟用服務(wù)器壓縮,只需要簡(jiǎn)單的對(duì)服務(wù)器進(jìn)行一些設(shè)置。 要啟用HTTP壓縮的設(shè)置, Apache、IIS6和IIS的更老版本的設(shè)置方法都不同。 Apache Apache 2.0包含了mod_deflate模塊,這個(gè)模塊對(duì)服務(wù)器內(nèi)容進(jìn)行動(dòng)態(tài)的Gzip壓縮。這種壓縮可以是對(duì)所有內(nèi)容無(wú)差別的——對(duì)IE瀏覽器,所有的內(nèi)容都是經(jīng)過(guò)壓縮的,或者是選擇性的,僅壓縮指定的MIME類(lèi)型,MIME類(lèi)型由HTTP應(yīng)答頭確定,這個(gè)HTTP頭可以是由Apache自動(dòng)生成或是由動(dòng)態(tài)程序(例如CGI)的輸出。 要實(shí)現(xiàn)內(nèi)容的無(wú)差別壓縮,可以在Apache配置文件中對(duì)整個(gè)站點(diǎn)或需要啟用壓縮的目錄加入SetOutputFilter指示如下:
SetOutputFilter?Deflate
要啟用對(duì)特定MIME類(lèi)型內(nèi)容的壓縮,可以在配置文件中使用AddOutputFilterByType指示,例如下面這樣:
AddOutputFilterByType?DEFLATE?text/html
注意,所有被指定MIME類(lèi)型輸出都將被壓縮,無(wú)論它是來(lái)自于一個(gè)靜態(tài)的磁盤(pán)文件還是一個(gè)動(dòng)態(tài)程序(如CGI或mod_perl)輸出。 有些老的瀏覽器無(wú)法正確的處理壓縮過(guò)的內(nèi)容,這時(shí)可以用BrowserMatch指示來(lái)過(guò)濾掉特定的瀏覽器類(lèi)型,你可以查看mod_deflate 幫助手冊(cè)獲取更詳細(xì)的資料。 IIS?6 IIS?6包括了一個(gè)簡(jiǎn)便易用的內(nèi)置壓縮組件。由于是內(nèi)置式的,它不是通過(guò)IISAPI接口,它的壓縮速度極快,是IIS?5和更早版本IIS的第三方HTTP壓縮組件的最佳替代品。壓縮系統(tǒng)可以設(shè)置對(duì)動(dòng)態(tài)(例如腳本輸出仙鶴)和靜態(tài)內(nèi)容進(jìn)行壓縮,它也可以在目錄中緩沖壓縮信息,這樣當(dāng)再次訪問(wèn)以前訪問(wèn)過(guò)的內(nèi)容時(shí),無(wú)需再次進(jìn)行壓縮從而改善了動(dòng)態(tài)和靜態(tài)內(nèi)容的訪問(wèn)性能。 為了實(shí)現(xiàn)在IIS?6中的HTTP壓縮技術(shù),用戶(hù)打開(kāi)網(wǎng)站的屬性頁(yè)面,編輯全局屬性,切換到“服務(wù)”標(biāo)簽,在HTTP壓縮選項(xiàng)中配置選擇項(xiàng)。 緩沖的文件存儲(chǔ)于臨時(shí)目錄中,默認(rèn)的設(shè)置是IIS中的元數(shù)據(jù)目錄的子目錄下。該目錄必須位于NTFS格式分區(qū)上,你可以設(shè)定緩沖區(qū)的大小或是設(shè)定為無(wú)限,我們建議最大可設(shè)置為該分區(qū)的兩倍(這些數(shù)據(jù)還包括了動(dòng)態(tài)腳本的輸出內(nèi)容)。
IIS5和IIS的更老版本 IIS5和IIS的更老版本沒(méi)有內(nèi)置壓縮功能,但是,它們支持ISAPI過(guò)濾器。我們建議用戶(hù)使用Port80的 ZipEnable。雖然也存在其它類(lèi)似功能的產(chǎn)品,但它是少數(shù)微軟特別推薦的產(chǎn)品之一,而且它與IIS?6兼容,通過(guò)配置IIS?6的設(shè)置,它可以將IIS6的HTTP壓縮功能進(jìn)一步在目錄級(jí)別上進(jìn)行進(jìn)行控制。 服務(wù)器的性能表現(xiàn) 顯然,對(duì)傳輸數(shù)據(jù)進(jìn)行壓縮需要一定的CPU時(shí)間,這種壓縮過(guò)程可能會(huì)對(duì)網(wǎng)站造成不良的影響,因?yàn)檫x定的每個(gè)目標(biāo)在發(fā)送前都必須進(jìn)行壓縮。這里IIS6領(lǐng)先了Apache一小步,它建立了一個(gè)緩沖區(qū)域,放壓縮文件放在里面,這樣對(duì)于那些被頻繁訪問(wèn)的內(nèi)容可以大大減少CPU壓縮處理時(shí)間。但這不能完全避免實(shí)時(shí)在線壓縮的需要,大量的動(dòng)態(tài)的內(nèi)容還是必須被在線壓縮,而這些動(dòng)態(tài)內(nèi)容所需的緩存空間可能極其巨大。 如果可以節(jié)省50%的帶寬而只犧牲網(wǎng)站不到10%的CPU時(shí)間。這樣做是完全值得的,特別是對(duì)于那些按網(wǎng)絡(luò)流量計(jì)費(fèi)的企業(yè)來(lái)說(shuō)更為劃算。 瀏覽器的支持和動(dòng)態(tài)內(nèi)容 如今,絕大多數(shù)的現(xiàn)代瀏覽器支持壓縮技術(shù),但是,具體的壓縮方式取決于瀏覽器。不過(guò)你無(wú)需對(duì)此擔(dān)心,因?yàn)橹挥袨g覽器指示支持一種壓縮方式時(shí),Web服務(wù)器才會(huì)發(fā)送壓縮內(nèi)容。盡管如果,了解一下這種處理機(jī)制和不同瀏覽器支持的壓縮類(lèi)型僅是一件有意義的事。 瀏覽器在要求一個(gè)網(wǎng)址時(shí),會(huì)把支持的壓縮格式通過(guò)Accept-Encoding的HTTP頭提交給服務(wù)器,Apache或其它Web服務(wù)器則從HTTP_ACCEPT_ENCODING環(huán)境變量讀取這個(gè)信息,這個(gè)過(guò)程無(wú)需你人為干預(yù),Apache在瀏覽器支持壓縮的情況下會(huì)自動(dòng)對(duì)發(fā)送的內(nèi)容進(jìn)行合適的編碼。 下表列出了常見(jiàn)的瀏覽器和它們支持的編碼類(lèi)型。
瀏覽器 支持的編碼
Firefox 1.0, Mozilla 1.x, Camino gzip, deflate
OmniWeb 5.x bzip2,?gzip, deflate
Safari gzip, deflate
Internet Explorer gzip, deflate
“Identity”這個(gè)詞有時(shí)會(huì)出現(xiàn)在瀏覽器支持的編碼列表中,這個(gè)詞的意思就是支持非壓縮內(nèi)容。所有的瀏覽器都會(huì)默認(rèn)對(duì)它提供支持,不過(guò)有些沒(méi)有特別列出。 如上所示,現(xiàn)代的瀏覽器都支持壓縮技術(shù)。當(dāng)發(fā)出URL請(qǐng)求時(shí)瀏覽器會(huì)自動(dòng)提供支持的編碼。如果你需要使用HTTP壓縮技術(shù),只需要對(duì)服務(wù)器端進(jìn)行設(shè)置就足夠了。 總結(jié) 使用HTTP壓縮是一種簡(jiǎn)單易行的提高服務(wù)器性能和減少帶寬消耗的方法,它也有潛在的不足,那就是增大了CPU的開(kāi)銷(xiāo)。但是相對(duì)于它帶來(lái)的好處而言,這個(gè)開(kāi)銷(xiāo)是物有所值的。 而且,如果你發(fā)現(xiàn)它并沒(méi)有帶來(lái)想象中的服務(wù)器性能提升,要禁用它也非常簡(jiǎn)單。它沒(méi)有改變過(guò)你的站點(diǎn)內(nèi)容,改變的僅是數(shù)據(jù)傳輸?shù)姆绞蕉选?br />

附注:
在運(yùn)行微軟Internet Information Services (IIS) 6.0的Windows Server 2003系統(tǒng)上,使用GNU zip(Gzip)進(jìn)行壓縮的靜態(tài)文件可能會(huì)不可用或包含有來(lái)自Web服務(wù)器中其他文件的內(nèi)容。如果出現(xiàn)這種情況,返回客戶(hù)端的頁(yè)面將會(huì)生成出錯(cuò),而且還可能造成訪問(wèn)沖突的現(xiàn)象。
上述問(wèn)題可能影響到“Outlook網(wǎng)絡(luò)訪問(wèn)(OWA)”用戶(hù),并可能導(dǎo)致代碼錯(cuò)誤信息返回到OWA頁(yè)面上。

微軟已針對(duì)上述問(wèn)題發(fā)布了修復(fù)補(bǔ)丁,其版本號(hào)為831464,大小為430 KB。該補(bǔ)丁對(duì)應(yīng)微軟第831464號(hào)知識(shí)庫(kù)文章。




本文轉(zhuǎn)自 張善友 51CTO博客,原文鏈接:http://blog.51cto.com/shanyou/75257,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的如何使用HTTP压缩优化服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。