如何提升頁(yè)面的訪問(wèn)速度

2021-08-10    分類: 網(wǎng)站建設(shè)

網(wǎng)頁(yè)打開(kāi)的速度對(duì)于網(wǎng)站的體驗(yàn)是非常重要的,每個(gè)訪客都希望能夠秒打開(kāi)網(wǎng)頁(yè),那么怎么才能提升網(wǎng)頁(yè)的訪問(wèn)速度下面小編來(lái)告訴大家?guī)讉€(gè)實(shí)際方法。

一. 減少對(duì)服務(wù)器的文件請(qǐng)求

HTTP請(qǐng)求屬于“請(qǐng)求”-“應(yīng)答”形式的短連接,每一個(gè)獨(dú)立的資源我們都會(huì)向服務(wù)器發(fā)去一份get請(qǐng)求,再等服務(wù)端將我們需要的文件傳回來(lái)。每一次資源的請(qǐng)求都實(shí)實(shí)在在地耗費(fèi)了一次“連接-等待-接收”的時(shí)間(當(dāng)然將http請(qǐng)求設(shè)為keep-alive長(zhǎng)連接狀態(tài)可以減少“連接”的次數(shù)和時(shí)間),如果我們能有效減少對(duì)服務(wù)器文件的請(qǐng)求次數(shù),便意味著我們可以從這塊省下一些頁(yè)面等待時(shí)間,順便減少服務(wù)器的負(fù)擔(dān)。

解決方案:

1. 使用css sprite技術(shù)合并多個(gè)圖片為單個(gè)圖片文件,實(shí)際使用時(shí)通過(guò)background-po sition來(lái)定位背景位置,推薦閱讀:CSS Sprites:圖片整合技術(shù);

2. 合并多個(gè)css樣式文件為單個(gè)樣式文件,合并多個(gè)腳本為單個(gè)腳本。

3.將小塊的css、js代碼段直接寫(xiě)在頁(yè)面上,而非在頁(yè)面引入獨(dú)立的樣式/腳本文件。相信有的朋友看慣了“保持結(jié)構(gòu) (標(biāo)記)、表現(xiàn) (樣式)、行為 (腳本)三者分離”的規(guī)范,對(duì)此觀點(diǎn)可能有些意見(jiàn)。只能說(shuō)規(guī)范不是教條,適合自己的才是硬道理。直接把小段的、復(fù)用率低的樣式/腳本直接寫(xiě)于頁(yè)面上帶來(lái)的利還是大于弊的(弊可能也就是增大了頁(yè)面代碼量、不那么好維護(hù)了點(diǎn))。

二. 減少文件大小

文件太大(特別是圖片)導(dǎo)致加載時(shí)間較長(zhǎng),往往都是影響頁(yè)面加載體驗(yàn)的頭號(hào)大敵,要盡可能減少請(qǐng)求文件的大小:

1. 壓縮樣式/腳本文件,可以使用gulp或者grunt來(lái)實(shí)現(xiàn),它們均能很好地減少css/js文件的大小(對(duì)于js還能起到混淆變量、函數(shù)名的作用);推薦!在線js、CSS、網(wǎng)頁(yè)壓縮工具

2. 針對(duì)性選擇圖片格式,在無(wú)透明背景需求下,對(duì)于顏色較單一、無(wú)色彩漸變的圖片僅使用gif格式,對(duì)于jpg圖片也可按照其清晰度要求,在導(dǎo)出jpg的時(shí)候選擇對(duì)應(yīng)的“品質(zhì)”進(jìn)行優(yōu)化,還有背景單一的圖片嘗試使用PNG格式能大大減小圖片大小;

三. 延遲請(qǐng)求、異步加載腳本

在各主流瀏覽器下,我們的腳本文件跟隨其它資源文件一樣都是異步下載的,但這里存在一個(gè)問(wèn)題——比如FireFox下載好腳本后的一小段時(shí)間內(nèi)會(huì)有“執(zhí)行阻塞”的情況發(fā)生,也就是說(shuō)瀏覽器下載好腳本后執(zhí)行它的這段時(shí)間里,瀏覽器的其它行為被阻塞,導(dǎo)致頁(yè)面上的其它資源都是無(wú)法被請(qǐng)求和下載的。

如果你頁(yè)面里存在js代碼執(zhí)行時(shí)間過(guò)長(zhǎng)的情況,那么用戶就會(huì)明顯感覺(jué)到頁(yè)面的延遲。解決這個(gè)問(wèn)題有一個(gè)簡(jiǎn)單的方法——將腳本請(qǐng)求標(biāo)簽放置到結(jié)束標(biāo)簽前,使得頁(yè)面上的腳本成為最后被請(qǐng)求的資源,自然也不會(huì)阻塞其它頁(yè)面資源的請(qǐng)求事件了。

四. 延遲請(qǐng)求首屏外的文件

先解釋下,“首屏”指的是頁(yè)面初始化時(shí)候的頁(yè)面內(nèi)容顯示區(qū)域,也就是頁(yè)面一加載,用戶就首先看到的區(qū)域。

比如像京東啊淘寶啊,對(duì)于需要滾動(dòng)頁(yè)面才能看到的圖片內(nèi)容,都做了類似lazyload的處理,這些無(wú)非都是走了代理模式的理念,但的確給用戶一個(gè)錯(cuò)覺(jué)——這個(gè)頁(yè)面更快地加載完了,因?yàn)槲液芸炀涂吹搅似聊簧系膬?nèi)容(即使我還沒(méi)下拉滾動(dòng)條,而頁(yè)面后方的文件其實(shí)還沒(méi)真正加載呢)。

當(dāng)前名稱:如何提升頁(yè)面的訪問(wèn)速度
轉(zhuǎn)載源于:http://bm7419.com/news/121391.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站響應(yīng)式網(wǎng)站、軟件開(kāi)發(fā)、微信公眾號(hào)

廣告

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

成都做網(wǎng)站