主頁 > 知識(shí)庫 > 讓網(wǎng)站打開更快第三彈--開啟壓縮篇

讓網(wǎng)站打開更快第三彈--開啟壓縮篇

熱門標(biāo)簽:服務(wù)外包 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 AI電銷 呼叫中心市場需求 Linux服務(wù)器 百度競價(jià)排名
什么是壓縮?
         大家還記得我們第一次接觸winzip軟件嗎?非常神奇,一個(gè)文件,經(jīng)過winzip壓縮后,大小可以壓縮成原來的30%左右。記得當(dāng)年,很多文件,都是壓縮后才可以放到自己的軟盤中。
而對(duì)于網(wǎng)站,也有這樣的壓縮技術(shù),可以讓你的網(wǎng)頁中的文本類文件瘦身,在用戶完全不知情的情況下,通過gzip和deflate壓縮程序有效減少了網(wǎng)頁,讓用戶更快的打開網(wǎng)站。
壓縮有多大用處?
         通過一個(gè)小小的測試軟件,我對(duì)新浪、網(wǎng)易等門戶網(wǎng)站進(jìn)行了訪問。
         新浪首頁訪問情況:
  
網(wǎng)易首頁訪問情況:
大家可以明顯的看到,網(wǎng)易和新浪的首頁,經(jīng)過壓縮后,都縮小了70%以上。
相信大家都知道,當(dāng)一個(gè)網(wǎng)頁,減小到30%后,對(duì)于最終用戶來說,打開網(wǎng)站的效率會(huì)提升為原來的3。
備注:
該工具地址http://www.gidnetwork.com/tools/gzip-test.php  大家也可以測試下自己的網(wǎng)站壓縮后的情況。
用戶不支持壓縮怎么辦?
開啟壓縮后,會(huì)不會(huì)由于用戶無法訪問這種壓縮文件,導(dǎo)致用戶訪問文件失???
不會(huì),因?yàn)門rident、Gecko、Webkit三種內(nèi)核的瀏覽器,都在發(fā)起請(qǐng)求時(shí),告知服務(wù)器,他們支持什么壓縮格式,如下圖:
而服務(wù)器都是按照發(fā)起請(qǐng)求中用戶支持的壓縮格式,進(jìn)行對(duì)應(yīng)反饋。如果用戶發(fā)起的請(qǐng)求頭中,無Accept-Enconding頭,就將返回給用戶非壓縮格式。
如何開啟壓縮?
請(qǐng)百度娘之,網(wǎng)上太多教程了,不再贅述。
對(duì)哪些內(nèi)容開啟壓縮呢?
只需要針對(duì)文本類文件的域名開啟壓縮。圖片等,已經(jīng)都是壓縮格式了,再使用壓縮,不會(huì)減少什么文件大小,反而會(huì)導(dǎo)致服務(wù)器負(fù)載變高,以及會(huì)由于這種對(duì)圖片的不規(guī)范壓縮使用導(dǎo)致各種各樣意想不到的問題。
所以,開啟壓縮之前,最好先完成域名拆分的工作,具體見如何讓網(wǎng)站打開更快第二彈。
技巧點(diǎn):
開啟壓縮,建議使用apache服務(wù)器。
因?yàn)镮IS服務(wù)器在處理壓縮時(shí)有個(gè)小問題,就是第一次被訪問的時(shí)候,IIS給出的文件時(shí)非壓縮的,后續(xù)的訪問,才直接給出壓縮文件。
這個(gè)小的bug,其實(shí)問題并不大,但是現(xiàn)在很多網(wǎng)站都在用一些緩存服務(wù)器或者是CDN,就會(huì)導(dǎo)致這個(gè)問題被放大,會(huì)導(dǎo)致壓縮啟用并不能完全成功。
而apache是第一次就直接給出壓縮后的文件。
當(dāng)然了,如果你用的是IIS,并且無法替換apache,那就自己麻煩一些,寫個(gè)腳本,將常用的頁面,在開啟壓縮后,訪問2次,可以減少很多問題發(fā)生。
開啟壓縮之進(jìn)階篇
當(dāng)下的中國網(wǎng)絡(luò)狀況
中國網(wǎng)絡(luò)誰當(dāng)家,當(dāng)然是電信和聯(lián)通兩朵花,但是現(xiàn)在越來越看到的現(xiàn)象是百花爭艷,除了這兩朵花之外,越來越多的涌現(xiàn)小ISP。如移動(dòng)、電信通、長城、方正、歌華有線、光環(huán)新網(wǎng)、甚至南方地區(qū)還有些香港過來的小運(yùn)營商。
這些小運(yùn)營商都有一個(gè)特點(diǎn),就是會(huì)cache文件,他們會(huì)為了減少網(wǎng)間結(jié)算帶寬,而盡量想辦法緩存文件,讓他們的用戶本地訪問。
其次,對(duì)于很多中大型公司來說,他們也會(huì)搭建自己的緩存服務(wù)器。
另外,還有很多網(wǎng)站,自身都搭建或者在使用第三方的CDN,也都是緩存服務(wù)器。
所以,當(dāng)下的中國網(wǎng)絡(luò)情況,基本上就是緩存服務(wù)器在提供眾多的服務(wù)。所以,你的開啟壓縮,如果不主動(dòng)配合這些各種各樣的緩存服務(wù)器,那么你out了,你會(huì)發(fā)現(xiàn),你的很多努力,都是笑談,并無實(shí)際作用。
如何適合當(dāng)下的狀況?如何才可以保證用戶支持壓縮時(shí),網(wǎng)絡(luò)間傳遞的就是你想給他的的壓縮文件?
那么,請(qǐng)緊記以下要點(diǎn),并逐個(gè)落實(shí)。
開啟壓縮時(shí),需要針對(duì)壓縮和非壓縮文件,都返回Vary:Accept-Encoding頭。
這個(gè)頭部是告訴緩存服務(wù)器,要根據(jù)用戶支持的編碼方式提供對(duì)應(yīng)的文件。
該項(xiàng)很重要,很多網(wǎng)站,只是對(duì)壓縮文件開啟該頭。在緩存服務(wù)器中,如果給出的非壓縮的文件不包含該頭部,也就是告知緩存服務(wù)器,當(dāng)用戶請(qǐng)求時(shí),不需要判斷用戶支持的編碼格式,而直接將該文件傳遞。所以,最后導(dǎo)致用戶請(qǐng)求到緩存服務(wù)器時(shí),無論用戶支持不支持壓縮,都是直接返回非壓縮的文件。
開啟壓縮時(shí),需要同時(shí)對(duì)HTTP1.1和HTTP1.0均開啟壓縮。
大家都是認(rèn)為,HTTP1.0協(xié)議的用戶,肯定是特別老的用戶,肯定是不支持壓縮的,所以,很多網(wǎng)站,都是針對(duì)HTTP1.0協(xié)議提供非壓縮文件。
但是,實(shí)際中,太多太多的緩存服務(wù)器,為了追求最大的兼容性,還在使用HTTP1.0協(xié)議。所以,當(dāng)你只是對(duì)HTTP1.1協(xié)議開啟壓縮時(shí),等于拋個(gè)媚眼給瞎子看。
例如,新浪的緩存服務(wù)器,也是HTTP1.0協(xié)議的,但是他們就很聰明的針對(duì)HTTP1.0也開啟了壓縮服務(wù),如下圖:

作者:王康
文章來源:xmw2.blog.chinaunix.net

標(biāo)簽:衡水 蘭州 仙桃 崇左 黃山 湖南 湘潭 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《讓網(wǎng)站打開更快第三彈--開啟壓縮篇》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266