摘要:一盡可能減少請求什么是請求官方回答從客戶端到服務(wù)器端的請求消息包括消息首行中對資源的請求方法資源的標(biāo)識符及使用協(xié)議菜鳥回答當(dāng)你打開網(wǎng)頁的時候所看到的文字圖片多媒體等都是從服務(wù)器獲取的每一個內(nèi)容的獲取就是請求把圖片合并二使用內(nèi)容分發(fā)網(wǎng)絡(luò)官方回
一、盡可能減少Http請求
什么是Http請求?
官方回答:從客戶端到服務(wù)器端的請求消息包括消息首行中對資源的請求方法 資源的標(biāo)識符及使用協(xié)議
菜鳥回答:當(dāng)你打開網(wǎng)頁的時候 所看到的文字圖片多媒體等 都是從服務(wù)器獲取的 每一個內(nèi)容的獲取 就是http請求
把圖片、js、css合并
二、使用CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))官方回答:內(nèi)容分發(fā)網(wǎng)絡(luò) 意思是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié) 使內(nèi)容傳輸?shù)母臁⒏€(wěn)定
:在離你最近的距離、最快的速度獲取內(nèi)容
阿帕奇開啟了expire模塊 當(dāng)瀏覽器發(fā)送資源請求的時候 阿帕奇返回資源的同時 會返回一個名為expire的Http頭
expire頭的內(nèi)容是一個時間值 值就是資源在本地的過期時間、這個值會存在本地
在本地緩存階段找到一個本地對應(yīng)的資源值
當(dāng)前時間還沒超過資源的過期時間 就直接使用這一個資源 不會發(fā)送Http請求
Cache-Control四、啟用Gzip壓縮
是Http協(xié)議中常用的頭部之一
顧名思義 它是負(fù)責(zé)控制頁面的緩存機(jī)制 如果該頭部指示緩存
緩存的內(nèi)容也不會存在本操作流程和expire相似
但也有不同的地方 cache-control有更多的選項
而且也有更多的處理方式
什么是Gzip壓縮:文件先放服務(wù)器壓縮 然后在存儲 存儲完畢以后 瀏覽器在對壓縮過得內(nèi)容進(jìn)行解壓縮 并執(zhí)行
目前的瀏覽器都能很好的支持Gzip
所有的文本內(nèi)容都要進(jìn)行Gzip壓縮
Cascading Style Sheets(層疊樣式表單)
為了提高瀏覽器的渲染性能 避免頁面空白或閃爍的問題
如果js出現(xiàn)問題 不會出現(xiàn)空白影響用戶瀏覽
七、避免在css中使用 Expressions什么是css Expressions:
css Expressions 俗稱 css表達(dá)式
是用來把css屬性 和 js表達(dá)式關(guān)聯(lián)起來
(這里的css屬性可以是固有屬性 也可以是自定義屬性
就是說css屬性后面可以是js表達(dá)式 css的值 = js表達(dá)式計算的結(jié)果)
css Expressions 計算頻率很高
在頁面顯示和縮放、頁面滾動、鼠標(biāo)移動的時候都會從新計算一次
所有使用css Expressions 瀏覽器會不停的計算 以至于嚴(yán)重影響性能 及 用戶體驗
八、把js和css放到外部文件中多帶帶提取:
提高了js和css的復(fù)用性 減少頁面體積 提高js和css的可維護(hù)性
寫在頁面里:
減少請求 提升頁面渲染速度
寫在頁面內(nèi)的情況:
1、js和css只應(yīng)用于一個頁面
2、一個不經(jīng)常被訪問的頁面
3、腳本和樣式很少的情況(不多于20、30行)
如:用戶打開 www.a.com 這個網(wǎng)址時 計算機(jī)是不知道它是什么、在哪里 必須通過一種轉(zhuǎn)換機(jī)制才能到達(dá)這個頁面
這種機(jī)制能夠?qū)?www.a.com 對應(yīng)到一個IP地址 10.96.141.1(一個計算機(jī)理解的地址)
在通過這個IP地址(使用DNS查找)對應(yīng)到 www.a.com 這個網(wǎng)站
整個過程就是DNS查找過程
查找的過程中瀏覽器是得不到任何資源的(這期間瀏覽器是一片空白)
所以要對這個過程進(jìn)行緩存 緩存之后就可以減少這種查找過程
不同瀏覽區(qū)緩存時間不同 (IE:30m 火狐:60s 谷歌:60s)
當(dāng)緩存時間長時:減少DNS的重復(fù)查找 節(jié)省時間
當(dāng)緩存時間短時:瀏覽器會及時檢查網(wǎng)站服務(wù)器的變化 保證正確性
根據(jù)自身情況進(jìn)行緩存時間的長短十、壓縮js 和 css
多域:網(wǎng)址 圖片 js 分別使用不同的域名
單域:網(wǎng)址 圖片 js 使用同一域名
1、去除不必要的空白符、格式符、注釋(代碼格式化)
2、簡寫方法名參數(shù)名壓縮js腳本
建議:在正式上線前 將js、css都進(jìn)行壓縮 使線上版本是最輕量級的 大幅提升網(wǎng)址性能
十一、避免重定向重定向:用戶原始請求被重新轉(zhuǎn)向到了其他請求(用戶想訪問的頁面a 被重新 指向了頁面b)
重定向狀態(tài)碼:
301 Moved Permanently:用戶請求的頁面被移動到另外的位置(永久重定向)
302 Found:用戶請求的頁面被找到了但不在原始位置(臨時重定向)
對用戶沒有什么影響 但對搜索引擎影響就大了 都是從a 跳到 b
301 會識別一次 第二次就會直接跳到 b
302 每次都是 先找a 再跳到 b
為什么避免重定向
無論301還是302都增加了服務(wù)器的往返次數(shù)
當(dāng)用戶發(fā)起訪問 a 網(wǎng)站的請求時 服務(wù)器收到 由于a 重定向到 b 所以服務(wù)器返回一個重定向信息(301 或 302)
并把這個信息寫在 header 中 并在 header 中返回一個新的地址(b 的地址)
但是body中是空白的 用戶端在收到這個反饋后 就知道地址改了
所以用戶的瀏覽器會再一次請求 請求到b 然后才打開網(wǎng)頁 下載資源
用戶多了一次獲取新地址的過程 必然會增加瀏覽器到服務(wù)器的返回次數(shù)
(要盡量減少Http請求 所以要避免使用)
//外部引入代碼 number++; document.getElementById("test").value = number; //外部引入兩遍 會影響value值十三、配置實體標(biāo)簽(ETag)
全稱Entity Tag(實體標(biāo)簽) 它包含在響應(yīng)頭部中 屬于Http協(xié)議 受web服務(wù)支持
它是使用特殊字符串 來標(biāo)識某個請求資源版本
當(dāng)用戶通過瀏覽器來服務(wù)器請求資源的時候 服務(wù)器會進(jìn)行比較
如果兩遍的ETag一致 那就代表瀏覽器和服務(wù)器的ETag一致 這就意味著該資源沒有修改過 和以前是一樣的
這時候服務(wù)器會返回一個304碼 告訴瀏覽器對比一致 可以使用本地緩存的版本 會幫助服務(wù)器減輕很多負(fù)擔(dān)
這就是配置ETag的好處
ajax:不重新加載頁面的情況下 使客戶端與服務(wù)器交換數(shù)據(jù) 可使網(wǎng)站數(shù)據(jù)分批加載 也可局部更新
post:每次都執(zhí)行 不能被緩存 get:同一地址不重復(fù)執(zhí)行 可以被緩存
輔助工具 Yslow
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/106717.html
摘要:軍規(guī)重要的幾點也是常用的幾點來個總結(jié)減少請求減輕服務(wù)器壓力圖片合并合并合并使用內(nèi)容分發(fā)網(wǎng)絡(luò)需要花錢買副本服務(wù)器定義盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母旄€(wěn)定。 今天的雞湯來自有書共讀——《你好好說話會死嗎?》 是,不是你心情不好,全世界都得陪你哭;不是你心情不好,周圍的人都得忍受你的一切。不是你身懷鋒芒,手藏匕首,就有資格在難過的時候,刺向你最...
摘要:避免重定向重定向用和狀態(tài)碼,下面是一個有狀態(tài)碼的頭瀏覽器會自動跳轉(zhuǎn)到域指明的。除此之外還有別的跳轉(zhuǎn)方式元標(biāo)簽和,但如果你必須得做重定向,最好用標(biāo)準(zhǔn)的狀態(tài)碼,主要是為了讓返回按鈕能正常使用。要提高性能,優(yōu)化這些響應(yīng)至關(guān)重要。 showImg(https://segmentfault.com/img/bVbmMsz?w=652&h=367);一直以來,性能優(yōu)化是開發(fā)的重中之中,而提及 前端...
摘要:避免重定向重定向用和狀態(tài)碼,下面是一個有狀態(tài)碼的頭瀏覽器會自動跳轉(zhuǎn)到域指明的。除此之外還有別的跳轉(zhuǎn)方式元標(biāo)簽和,但如果你必須得做重定向,最好用標(biāo)準(zhǔn)的狀態(tài)碼,主要是為了讓返回按鈕能正常使用。要提高性能,優(yōu)化這些響應(yīng)至關(guān)重要。 showImg(https://segmentfault.com/img/bVbmMsz?w=652&h=367);一直以來,性能優(yōu)化是開發(fā)的重中之中,而提及 前端...
摘要:避免重定向重定向用和狀態(tài)碼,下面是一個有狀態(tài)碼的頭瀏覽器會自動跳轉(zhuǎn)到域指明的。除此之外還有別的跳轉(zhuǎn)方式元標(biāo)簽和,但如果你必須得做重定向,最好用標(biāo)準(zhǔn)的狀態(tài)碼,主要是為了讓返回按鈕能正常使用。要提高性能,優(yōu)化這些響應(yīng)至關(guān)重要。 showImg(https://segmentfault.com/img/bVbmMsz?w=652&h=367);一直以來,性能優(yōu)化是開發(fā)的重中之中,而提及 前端...
閱讀 1749·2021-09-26 09:46
閱讀 3028·2021-09-22 15:55
閱讀 2617·2019-08-30 14:17
閱讀 3032·2019-08-26 11:59
閱讀 1816·2019-08-26 11:35
閱讀 3162·2019-08-26 10:45
閱讀 3159·2019-08-23 18:28
閱讀 1134·2019-08-23 18:21