web 性能優(yōu)化

1.CDN

cdn——維基百科給出的解釋是:內(nèi)容分發(fā)網(wǎng)絡(luò)(Content delivery network或Content distribution network溉跃,縮寫:CDN)帜消。簡單來說它主要的工作是把我們需要被分發(fā)的內(nèi)容分發(fā)到世界各地的各個節(jié)點(diǎn)上殃恒,讓世界各地的人都可以在距離最近的網(wǎng)絡(luò)節(jié)點(diǎn)拿到想要拿到的內(nèi)容履怯,減少網(wǎng)絡(luò)傳輸距離從而達(dá)到加速的目的终畅。

2.Keep-Alive模式

我們知道HTTP協(xié)議采用“請求-應(yīng)答”模式宏所,當(dāng)使用普通模式命咐,即非KeepAlive模式時(shí)诈铛,每個請求/應(yīng)答客戶和服務(wù)器都要新建一個連接乙各,完成之后立即斷開連接(HTTP協(xié)議為無連接的協(xié)議);當(dāng)使用Keep-Alive模式(又稱持久連接幢竹、連接重用)時(shí)耳峦,Keep-Alive功能使客戶端到服務(wù)器端的連接持續(xù)有效,當(dāng)出現(xiàn)對服務(wù)器的后繼請求時(shí)妨退,Keep-Alive功能避免了建立或者重新建立連接妇萄。

http 1.0中默認(rèn)是關(guān)閉的蜕企,需要在http頭加入”Connection: Keep-Alive”,才能啟用Keep-Alive冠句;http 1.1中默認(rèn)啟用Keep-Alive轻掩,如果加入”Connection: close “,才關(guān)閉懦底。目前大部分瀏覽器都是用http1.1協(xié)議唇牧,也就是說默認(rèn)都會發(fā)起Keep-Alive的連接請求了,所以是否能完成一個完整的Keep-Alive連接就看服務(wù)器設(shè)置情況聚唐。

3.cache-control

我們可以在請求頭中設(shè)置 cache-control 來指導(dǎo)瀏覽器進(jìn)行緩存?

比如response.setHeader('cache-control','max-age=30')

意思是 三十秒鐘之內(nèi)丐重,同樣的內(nèi)容不請求第二次。

3.Etag

Etag 可以在響應(yīng)頭中給你請求的文件設(shè)置一個MD5值 返回費(fèi)客戶端

當(dāng)你第二次請求的時(shí)候 請求頭就會帶上這個MD5? 然后對比這個值

如果一樣那就說明兩次請求的內(nèi)容是一樣的? 瀏覽器就會 返回 304 用緩存里面的內(nèi)容而不是重新下載(請求但是不下載)

4.G-zip

GZIP網(wǎng)頁壓縮杆查,是一種WEB服務(wù)器與瀏覽器之間共同遵守的協(xié)議扮惦,也就是說WEB服務(wù)器和瀏覽器都必須支持該技術(shù)才能實(shí)現(xiàn)GZIP壓縮,而當(dāng)下主流的瀏覽器都是支持GZIP壓縮亲桦,包括IE6崖蜜、IE7、IE8客峭、IE9豫领、FireFox、谷歌瀏覽器舔琅、Opera等等恐,而常見的WEB服務(wù)器通常有Apache和IIS兩種。GZIP最早由Jean-loup Gailly和Mark Adler創(chuàng)建备蚓,用于UNIX系統(tǒng)的文件壓縮课蔬。我們在Linux中經(jīng)常會用到后綴為.gz的文件,它們就是GZIP格式的星著。目前购笆,GZIP已經(jīng)成為Internet上使用非常普遍的一種數(shù)據(jù)壓縮格式,或者說一種文件格式虚循。下面介紹一下GZIP壓縮時(shí)同欠,WEB服務(wù)器與瀏覽器之間的協(xié)商過程如下:1、首先瀏覽器請求某個URL地址横缔,并在請求的開始部分頭(head) 設(shè)置屬性accept-encoding值為gzip铺遂、deflate,表明瀏覽器支持gzip和deflate這兩種壓縮方式(事實(shí)上deflate也是使用GZIP壓縮協(xié)議茎刚,在之后的內(nèi)容之我們會介紹二者之間的區(qū)別)襟锐;2、WEB服務(wù)器接收到請求后判斷瀏覽器是否支持GZIP壓縮膛锭,如果支持就傳送壓縮后的響應(yīng)內(nèi)容粮坞,否則傳送不經(jīng)過壓縮的內(nèi)容蚊荣;3、瀏覽器獲取響應(yīng)內(nèi)容后莫杈,判斷內(nèi)容是否被壓縮互例,如果是壓縮文件則解壓縮,然后顯示響應(yīng)頁面的內(nèi)容筝闹。

5.調(diào)整css文件和js文件位置

一般情況下我們都將css文件放在head中 而js文件則放在body后面媳叨,因?yàn)橐恍g覽器會先等css文件加載完畢再開始渲染頁面,把css放在前面可以讓頁面更快的被渲染出來关顷,而js則可以利用頁面渲染后到用戶移動鼠標(biāo)的這段時(shí)間完成加載糊秆。

6.合并文件

如果一個頁面的文件過多,那么可以通過合并文件來達(dá)到較少請求次數(shù)的目的议双。

7.增加域名以并行下載資源

上面提到我們可以通過合并文件來減少請求次數(shù)痘番,但是如果文件的體積過大,就算請求次數(shù)減少來平痰,但是單次請求的時(shí)間變長了夫偶,這時(shí)候我們就不能用合并文件的方法了,因?yàn)橐粋€域名最多可以同時(shí)發(fā)送四個請求觉增,在文件過多的情況下我們可以通過增加域名的方法來同時(shí)請求多個資源。

8.減小Cookie尺寸

HTTP的cookies由于許多原因而被使用(例如權(quán)限認(rèn)證以及私人原因)翻斟。cookies中包含的信息會在web服務(wù)器和瀏覽器之間的HTTP報(bào)頭進(jìn)行交換逾礁。使得cookies的尺寸盡可能的小,將對用戶響應(yīng)時(shí)間造成的影響降到最低是非常重要的访惜。

核對更多的信息嘹履,請查閱Tenni Theurer和Patty Chi編寫的“When the Cookie Crumbles”。調(diào)查后得到實(shí)際結(jié)果如下:

去除不必要的cookies cookies的尺寸盡可能的小债热,將對用戶響應(yīng)時(shí)間造成的影響降到最低砾嫉。 在合適的域級別設(shè)置cookies應(yīng)該注意,所以其它子域名不會受影響窒篱。 合理設(shè)置過期時(shí)間焕刮。太早的過期時(shí)間或者不設(shè)過期時(shí)間,會更快的移除cookies墙杯,縮短用戶的響應(yīng)時(shí)間配并。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市高镐,隨后出現(xiàn)的幾起案子溉旋,更是在濱河造成了極大的恐慌,老刑警劉巖嫉髓,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件观腊,死亡現(xiàn)場離奇詭異邑闲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梧油,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門苫耸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人婶溯,你說我怎么就攤上這事鲸阔。” “怎么了迄委?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵褐筛,是天一觀的道長。 經(jīng)常有香客問我叙身,道長渔扎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任信轿,我火速辦了婚禮晃痴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘财忽。我一直安慰自己倘核,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布即彪。 她就那樣靜靜地躺著紧唱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隶校。 梳的紋絲不亂的頭發(fā)上漏益,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天,我揣著相機(jī)與錄音深胳,去河邊找鬼绰疤。 笑死,一個胖子當(dāng)著我的面吹牛舞终,可吹牛的內(nèi)容都是我干的轻庆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼敛劝,長吁一口氣:“原來是場噩夢啊……” “哼榨了!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起攘蔽,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤龙屉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體转捕,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡作岖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了五芝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痘儡。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖枢步,靈堂內(nèi)的尸體忽然破棺而出沉删,到底是詐尸還是另有隱情,我是刑警寧澤醉途,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布矾瑰,位于F島的核電站,受9級特大地震影響隘擎,放射性物質(zhì)發(fā)生泄漏殴穴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一货葬、第九天 我趴在偏房一處隱蔽的房頂上張望采幌。 院中可真熱鬧,春花似錦震桶、人聲如沸休傍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尊残。三九已至,卻和暖如春淤堵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背顷扩。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工拐邪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人隘截。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓扎阶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親婶芭。 傳聞我的和親對象是個殘疾皇子东臀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容