成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

成都網(wǎng)站制作:網(wǎng)站優(yōu)化中如何提高網(wǎng)絡(luò)性能?

2023-03-05    分類: 網(wǎng)站制作

成都網(wǎng)站制作:網(wǎng)站優(yōu)化中如何提高網(wǎng)絡(luò)性能?

為何提高網(wǎng)絡(luò)效果?
Web性能黃金指南:只有10?o 20%的最終用戶響應(yīng)時間用于下載html文檔,剩下的90%花費(fèi)在下載頁面組件上。
根據(jù)著名的“2-5-8”原則,網(wǎng)絡(luò)性能對用戶體驗(yàn)有重要影響:
當(dāng)用戶在2秒內(nèi)得到響應(yīng)時,系統(tǒng)會感覺非常快。當(dāng)用戶在2-5秒內(nèi)收到響應(yīng)時,系統(tǒng)將感受到響應(yīng)速度。
當(dāng)用戶在5-8秒內(nèi)得到響應(yīng)時,系統(tǒng)會感覺非常慢,但這是可以接受的。
當(dāng)用戶在8秒后沒有得到響應(yīng)時,即使系統(tǒng)掛了,系統(tǒng)也感覺很糟糕;要么打開競爭對手的網(wǎng)站,要么重新發(fā)起第二個請求。
一切都需要研究,通過科學(xué)研究,我們可以找到事物發(fā)展的規(guī)律。我要感謝雅虎工程師總結(jié)了14項(xiàng)前端優(yōu)化規(guī)則,以便我們能夠站在巨人的肩膀上。 “高性能網(wǎng)站建設(shè)”一書中的14個優(yōu)化原則總結(jié)如下:
減少HTTP請求
頁面內(nèi)部優(yōu)化
啟用緩存
減少下載量
優(yōu)化網(wǎng)絡(luò)連接
為什么減少HTTP請求可以提高Web性能?
要回答這個問題,我們需要了解當(dāng)瀏覽器向服務(wù)器發(fā)送http請求以了解如何獲取數(shù)據(jù)時會發(fā)生什么:
打開一個鏈接(tcp / ip三次握手過程) - 發(fā)送請求 - 等待(網(wǎng)絡(luò)延遲和服務(wù)器處理時間) - 下載數(shù)據(jù)
我們來看看每個階段在百度主頁上http請求所花費(fèi)的時間。上面的不同顏色代表下圖中的不同階段。
可以看出,除了圖片之外,大多數(shù)http請求事件都花費(fèi)在建立連接和等待階段上。
http協(xié)議建立在TIC / IP協(xié)議之上。在TCP / IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),并使用三次握手建立連接。
簡單來說,三次握手是一個身份驗(yàn)證過程:
(第一次握手:主機(jī)A發(fā)送一個syn = 1的位代碼,隨機(jī)生成一個seq number = 1234567的數(shù)據(jù)包到服務(wù)器,主機(jī)B由SYN = 1知道,A請求建立連接;)
(第二次握手:收到請求后,主機(jī)B應(yīng)確認(rèn)在線信息并向A發(fā)送確認(rèn)。
Number =(主機(jī)A的seq + 1),syn = 1,ack = 1,隨機(jī)生成一個seq = 7654321的數(shù)據(jù)包)
(第三次握手:主機(jī)A接收到它后,檢查確認(rèn)號是否正確,即第一次發(fā)送的序號+ 1,以及位碼ack是否為1.如果正確,則為Host A將再次發(fā)送ack。
Number =(主機(jī)B的seq + 1),ack = 1,在主機(jī)B收到seq值并且ack = 1之后,連接成功建立。 )
言歸正傳,這個過程也需要時間。在百度主頁上找到一個極端的例子:
等待時間通常大于內(nèi)容下載的時間。這也是一個極端的例子:
由此我們可以得出結(jié)論,http請求的絕大部分時間都花在建立連接和等待時間上。優(yōu)化是減少http請求。
如何提高網(wǎng)絡(luò)性能?
1,減少HTTP請求
通常有兩種縮小圖像的方法:css sprites,內(nèi)嵌圖像和IconFont。
CSS Sprites:將多個圖像合并為一個圖像,使用css的background-position屬性將html元素的背景圖像放入sprite中
圖中所需的位置。使用這種技術(shù)的另一個優(yōu)點(diǎn)是它減少了下載量,并且合并的圖片小于分離的圖片,因?yàn)樗鼫p少了圖片本身的開銷(顏色表,格式信息等)。 Css在實(shí)際項(xiàng)目中
精靈是一種身體活動,因?yàn)樵陂_發(fā)過程中需要保持這種大局(增加和減少圖片)。張新旭的文章描述了如何管理精靈圖像作為參考(這里)。如果你需要提供大量的圖像為背景,鏈接,頁面上的導(dǎo)航欄,CSS
Sprites絕對是一個很好的解決方案(干凈的標(biāo)簽,更少的圖像,更短的響應(yīng)時間)。
內(nèi)聯(lián)圖像:通過使用數(shù)據(jù):URL模式,您可以在頁面中包含圖像,而無需任何其他請求。成都網(wǎng)站制作缺點(diǎn)是IE8以下的瀏覽器不支持這種方法,IE8的數(shù)據(jù)量有限,只能支持23kb以內(nèi)的數(shù)據(jù)。對于較小的圖像,您可以直接內(nèi)嵌到網(wǎng)頁中,但將大圖像內(nèi)嵌到頁面中會導(dǎo)致頁面變大。使用css是明智的,使用內(nèi)嵌圖像作為背景,并將其放在外部樣式表中,這意味著數(shù)據(jù)可以緩存在樣式表中。使用外部樣式表添加了一個http請求,但瀏覽器可以緩存該樣式以獲得額外收益。另一點(diǎn)需要注意:base64是有損壓縮。
IconFont:Icon字體,這是近年來用字體替換圖片的一種新流行技術(shù)。它可以適應(yīng)任何分辨率而不會出現(xiàn)圖像模糊,并且它比圖像具有更小的容量和更大的靈活性(圖標(biāo)可以設(shè)置為圖標(biāo)大小,顏色,透明度,懸停狀態(tài),反轉(zhuǎn)等)。IE8以上的瀏覽器支持這項(xiàng)技術(shù)。在使用IconFont之前,首先需要確定您選擇的字體庫是否收費(fèi)。有關(guān)詳細(xì)信息,請參閱此文章:Icon Fontization
減少腳本和樣式表請求的主要原則是合并。在實(shí)際開發(fā)中,我們遵循模塊化原則將代碼分散到許多小文件中。根據(jù)軟件開發(fā)的原理,這是完全正確的,但對于在線頁面,每個文件都會生成一個http請求,嚴(yán)重影響性能。和css
像精靈一樣,將這些小文件組合到一個文件中可以減少http請求的數(shù)量并減少最終用戶的響應(yīng)時間。在合并過程中我們還需要使用工具來簡化(刪除不必要的字符以減少文件大小以減少下載時間)和混淆(除了刪除不必要的字符外,它還會重寫源代碼,如函數(shù)和變量名使用短標(biāo)題名稱)Javascript代碼。對于使用AMD或CMD進(jìn)行模塊化開發(fā)的學(xué)生,依賴于它的其他模塊通常在合并過程中打包到文件中,模板html通常作為字符串內(nèi)聯(lián)到Javascript文件中。目前最常用的前端構(gòu)建工具是glup,這里有一個初步的應(yīng)用文章:前端
| gulp包require.js模塊依賴
2,頁面內(nèi)部優(yōu)化
關(guān)心性能的工程師希望頁面盡快顯示在用戶面前。對于頁面上包含大量內(nèi)容的頁面,我們希望可以逐步加載內(nèi)容以為用戶提供視覺反饋。在底部放置樣式表會導(dǎo)致瀏覽器阻成都網(wǎng)站制作止逐步呈現(xiàn)內(nèi)容。為避免在頁面更改時重新繪制頁面元素,瀏覽器會阻止頁面呈現(xiàn),直到解析樣式表為止(有關(guān)詳細(xì)信息,請參閱我的博客)。因此,如果將樣式表放在頂部并且不減少資源的加載時間,則會縮短頁面的呈現(xiàn)時間。小米主頁犯了這樣一個錯誤:
將樣式表放在底部會阻止頁面的逐步呈現(xiàn),并且將腳本文件放在頁面頂部也會阻止頁面的逐步呈現(xiàn)。 script元素將阻止后續(xù)內(nèi)容的解析,因?yàn)槟_本可用于使用document.write更改頁面。解決方案是將腳本標(biāo)記放在頁面底部。這將允許逐步呈現(xiàn)內(nèi)容,以及增加下載中的并行度。如果我們確定我們不需要document.write,我們可以將asyn屬性添加到腳本標(biāo)記(dee添加到Ie)以改進(jìn)并行下載。
CSS表達(dá)式是IE支持動態(tài)更改css屬性的一種方式。

我們不需要太了解。她寫道如下。一旦在產(chǎn)品中找到了表達(dá)式關(guān)鍵字,就必須完全消除它。

使用外部腳本和樣式,我認(rèn)為有經(jīng)驗(yàn)的工程師也會這樣做。
刪除重復(fù)的腳本:這主要是為了避免在頁面中多次添加相同的Javascript代碼。如果在我們的開發(fā)中存在AMD和CMD等依賴管理方法,則不會發(fā)生這種情況。
3,啟用緩存
關(guān)于緩存的使用這里有兩種情況:expires / If-Modified-Since,Cache-Control / Etag;前者是HTTP1.0中的緩存方案,后者是HTTP1.1中的緩存方案,如果http報頭在同一個中出現(xiàn),則后者具有更高的優(yōu)先級。
If-modified-since的方式通常被稱為條件Get。文件的副本保存在瀏覽器緩存中,但您需要詢問服務(wù)器是否有此副本。 If-Modified-Since是瀏覽器向服務(wù)器發(fā)送最后修改時間,服務(wù)器比較Last-Modified頭; if If-Modified-Since

當(dāng)前題目:成都網(wǎng)站制作:網(wǎng)站優(yōu)化中如何提高網(wǎng)絡(luò)性能?
本文路徑:http://jinyejixie.com/news/241838.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項(xiàng)目有網(wǎng)站制作

廣告

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

成都定制網(wǎng)站網(wǎng)頁設(shè)計
东兰县| 名山县| 本溪市| 磐安县| 砚山县| 西乌珠穆沁旗| 玛多县| 宜昌市| 会泽县| 张家港市| 巩义市| 固镇县| 化德县| 二连浩特市| 龙门县| 牙克石市| 苍南县| 贡山| 汉川市| 随州市| 桃源县| 即墨市| 即墨市| 双江| 宁化县| 班戈县| 龙南县| 宝山区| 宜州市| 马边| 昌黎县| 东平县| 宣汉县| 渭南市| 松江区| 东山县| 衡山县| 漯河市| 茂名市| 太康县| 汝城县|