提升高性能網(wǎng)站原則

2022-04-24    分類: 網(wǎng)站建設(shè)

《高性能網(wǎng)站建設(shè)指南》這本書中給出了幾條很重要的網(wǎng)站性能提升的原則,每個(gè)原則獨(dú)立成章,配有示例。這些原則大多數(shù)都非常實(shí)用,適合站點(diǎn)架構(gòu)師、前端工程師。其中對(duì)于前端工程師的意義更大一些??偨Y(jié)如下僅供參考,謝謝。

原則1 減少HTTP請(qǐng)求數(shù)

構(gòu)造請(qǐng)求、等待響應(yīng)需要時(shí)間,因此請(qǐng)求數(shù)量越少越好。減少請(qǐng)求的總體思路就是合并資源,減少顯示一個(gè)頁面需要的文件數(shù)。

1. Image Map

通過設(shè)置<img>標(biāo)簽的usemap屬性與使用<map>標(biāo)簽可以在一幅圖片上切分出多個(gè)區(qū)域,指向不同的鏈接。比起使用多幅圖片分別構(gòu)造鏈接減少了請(qǐng)求數(shù)。

2. CSS Sprite(CSS貼圖整合/貼圖拼合/貼圖定位)

通過設(shè)置元素的background-position樣式做到。一般用于界面圖標(biāo)。典型的可以參考TinyMCE編輯器上方的那些小按鈕。多個(gè)小圖實(shí)質(zhì)是從一個(gè)統(tǒng)一的大圖通過不同的偏移量裁剪而來,這樣加載界面上的眾多按鈕實(shí)際上只要請(qǐng)求一次(請(qǐng)求大圖一次),從而減少HTTP請(qǐng)求數(shù)。

3. Inline Image(內(nèi)聯(lián)圖片)

在<img>的src中不指定外部圖片文件的URL,而是直接將圖片信息放入。例如src=”data:image/gif;base64,R0lGODlhDAAMAL...”某些特殊情況下有用(例如一個(gè)不大的圖片僅在當(dāng)前頁面用到)。

  原則2 利用多線路CDN

為你的站點(diǎn)提供多種線路(例如國內(nèi)電信、聯(lián)通、移動(dòng))、多個(gè)地理位置(北方、南方、西部)的訪問,使得所有用戶都能夠快速訪問。

  原則3 利用HTTP Cache

給不頻繁更新的資源(例如靜態(tài)圖)加較長的Expires頭信息,這些資源一經(jīng)緩存,未來很長時(shí)間都可以不再重復(fù)傳輸了。

  原則4 使用Gzip壓縮

使用Gzip壓縮HTTP報(bào)文,減小體積,減少傳輸時(shí)間。

  原則5 將樣式表置于頁面前部

先加載樣式表,這樣頁面渲染得以較早開始,給用戶頁面加載較快的感覺。

  原則6 將腳本置于頁面尾部

原因同5,先處理頁面顯示,頁面渲染較早完成,而腳本邏輯稍后執(zhí)行,這樣給用戶頁面加載較快的感覺。

  原則7 避免使用CSS表達(dá)式

過于復(fù)雜的JavaScript腳本邏輯、DOM查找、選擇操作將會(huì)降低頁面處理效率。

  原則8 將JavaScript與CSS作為外聯(lián)資源

這似乎與原則1中的合并思想相悖,但其實(shí)不然:考慮每個(gè)頁面都引入了一個(gè)公共的JavaScript資源(例如jQuery或是ExtJS這樣的JavaScript庫),單就一個(gè)頁面的表現(xiàn)來看,內(nèi)聯(lián)(即將JavaScript嵌入HTML)頁面將比外聯(lián)(使用<script>標(biāo)簽引入)頁面加載更快(因?yàn)槠漭^少的HTTP請(qǐng)求數(shù))。但如果有很多頁面都引入了這個(gè)公共JavaScript資源,那么內(nèi)聯(lián)方案會(huì)造成重復(fù)傳輸(因?yàn)檫@個(gè)資源內(nèi)嵌在每個(gè)頁面中了,所以每次打開一個(gè)頁面都要將這部分資源傳輸一遍,從而造成網(wǎng)絡(luò)傳輸資源的浪費(fèi))。而將這種資源獨(dú)立出來外聯(lián)引用可以解決這個(gè)問題。

由于JavaScript和CSS相對(duì)穩(wěn)定,我們可以對(duì)其對(duì)應(yīng)的資源設(shè)置較長的失效期(參考原則3)。

  原則9 減少DNS查找

作者給出的建議是:

1. 使用Keep-Alive保持連接

如果連接斷開,那么下次連接又要執(zhí)行DNS查找,即使對(duì)應(yīng)的域名-IP映射已被緩存,查找也是要消耗一些時(shí)間的

2. 減少域名

每次請(qǐng)求新域名都需要進(jìn)行通過DNS查找不同的域名,且DNS緩存無法發(fā)揮作用。因此應(yīng)該盡量將站點(diǎn)組織在一個(gè)統(tǒng)一域名下,避免使用過多子域名

  原則10 壓縮你的JavaScript

使用JS壓縮工具壓縮你的JavaScript吧,很有效哦??纯磈Query的兩個(gè)不同的發(fā)行版本就知道區(qū)別了:

http://code.jquery.com/jquery-1.6.2.js 閱讀版jQuery代碼,230KB

http://code.jquery.com/jquery-1.6.2.min.js 壓縮版jQuery代碼(用于實(shí)際部署),89.4KB

  原則11 盡量避免重定向

一次重定向意味著在你真正訪問到想要看到的頁面前加入了一輪額外的HTTP請(qǐng)求(客戶端發(fā)起HTTP請(qǐng)求→HTTP服務(wù)器返回重定向響應(yīng)→客戶端對(duì)新URL發(fā)起請(qǐng)求→HTTP服務(wù)器返回內(nèi)容,下劃線部分為額外的請(qǐng)求),因此消耗更多的時(shí)間(也就給人反應(yīng)更慢的感覺)。因此除非必要,不要隨意使用重定向。幾個(gè)“必要”的情況:

1. 避免URL失效

舊站點(diǎn)遷移后,為了避免舊的URL失效,通常將對(duì)舊URL的請(qǐng)求重定向至新系統(tǒng)的對(duì)應(yīng)地址。

2. URL美化

在可讀性好的URL與實(shí)際資源URL之間轉(zhuǎn)換,例如對(duì)于Google Toolbar,用戶記得住http://toolbar.google.com這個(gè)對(duì)人類富有語義的地址,卻很難記住http://www.google.com/tools/firefox/toolbar/FT3/intl/en/index.html這個(gè)真正的資源地址。因此有必要保留前者,并且將對(duì)前者的請(qǐng)求重定向至后者。

  原則12 移除重復(fù)的腳本

不要在一個(gè)頁面中重復(fù)引入相同的腳本。例如腳本B和C都依賴于A,那么在使用了B和C的頁面中就有可能存在對(duì)A的重復(fù)引用。解決方法,對(duì)于簡單的站點(diǎn)手動(dòng)檢查依賴性,消去重復(fù)引入;對(duì)于復(fù)雜的站點(diǎn)則需要構(gòu)建自己的依賴管理/版本控制機(jī)制。

文章標(biāo)題:提升高性能網(wǎng)站原則
轉(zhuǎn)載來于:http://m.kartarina.com/news49/146299.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司網(wǎng)站制作虛擬主機(jī)、軟件開發(fā)、外貿(mào)網(wǎng)站建設(shè)、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
主站蜘蛛池模板: 国产AV无码专区亚洲AV麻豆丫 | 深夜a级毛片免费无码| 亚洲va成无码人在线观看| 亚洲看片无码在线视频| 国产高清不卡无码视频| 亚洲国产综合无码一区| 无码夜色一区二区三区| 久久精品亚洲中文字幕无码网站| 精品无码人妻一区二区免费蜜桃| 国产乱子伦精品免费无码专区| 亚洲国产精品成人精品无码区| 狠狠久久精品中文字幕无码| 亚洲va无码va在线va天堂| 特级无码毛片免费视频| 一夲道dvd高清无码| 无码丰满少妇2在线观看| av无码一区二区三区| 无码人妻一区二区三区av| 日韩精品无码一区二区中文字幕| 国产精品成人无码久久久久久| 亚洲日韩乱码中文无码蜜桃臀| 亚洲中文字幕无码一久久区| 无码国模国产在线观看免费| 亚洲日韩精品A∨片无码加勒比| 韩日美无码精品无码| 日韩无码系列综合区| 亚洲Av永久无码精品一区二区| 人妻丰满熟妇AV无码片| 亚洲国产精品无码久久久秋霞2| 亚洲国产精品无码久久久久久曰| 欧洲黑大粗无码免费| 无码精品A∨在线观看十八禁| 亚洲成AV人片在线播放无码| 国产aⅴ激情无码久久| 亚洲午夜国产精品无码老牛影视| 在线精品自拍无码| 中文字幕无码av激情不卡久久| 亚洲综合最新无码专区| 台湾无码AV一区二区三区| 亚洲最大av无码网址| 伊人久久精品无码二区麻豆|