久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

怎樣提高網(wǎng)站訪問速度縮短網(wǎng)頁加載時間

 lvyafei 2011-12-29

本文主要參照http://developer.yahoo.com/performance/rules.html,,結合多年網(wǎng)站開發(fā)經(jīng)驗總結而來。

1,、減少頁面HTTP請求數(shù)量

比較直接的理解就是要減少調(diào)用其他頁面,、文件的數(shù)量。

A.我們在使用css格式控制的時候,,經(jīng)常會采用background載入很多圖形文件,,每個background的圖像至少產(chǎn)生1次HTTP請求,一般我們?yōu)榱俗岉撁嫔鷦踊顫姇罅渴褂胋ackground來加載背景圖,,要改善這個狀況,,可以采用css的1個有用的background-position屬性來加載背景圖,我們將需要頻繁加載的多個圖片合成為1個單獨的圖片,,需要加載時,,采用以下形式加載即可將這部分圖片加載的HTTP請求縮減為1個。

background:url(....) no-repeat x-offset y-offset;

B.采用Image maps,,這個方法也比較常用,,只是限于同1個區(qū)域使用。

C.Inline images,,這個方法很少見到,,但對于很小很簡單的圖像卻是很實用的,相關語法標準參照:http://tools./html/rfc2397,。例如這個圖像,,就是由如下代碼產(chǎn)生:圣騎天下

<img src="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
hhx4dbgYKAAA7" alt="圣騎天下" />

2,、使用CDN(Content Delivery Network)網(wǎng)絡加速

現(xiàn)在國內(nèi)做CDN加速業(yè)務的公司很多,簡單講,,就是將你的圖片,、視頻擴散到CDN網(wǎng)絡所能到達之處,讓用戶訪問時能就近下載到這些文件,,從而達到網(wǎng)絡提速的目的,,這樣做,同時能減輕你自己網(wǎng)站的負載,。

3,、添加文件過期或緩存頭

對于同一用戶頻繁訪問的圖片、Js腳本文件等可以在Apache或Nginx設置其緩沖時間,,例如設置24小時過期時間,,這樣用戶在訪問過該頁面之后再次訪問時,同一組圖片或JS不會再重復下載,,從而減少了HTTP請求,,用戶訪問速度明顯有所提升,同時服務器負載也會下降,。下面給出nginx配置中緩存控制的例子:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
	expires      30d;#設置30天過期
}

location ~ .*\.(js|css)?$
{
	expires      1h;#設置1小時過期
}

4,、服務器開啟gzip壓縮

這個大家都比較了解,即將需要傳輸?shù)膬?nèi)容壓縮后傳輸?shù)娇蛻舳嗽俳鈮?,這樣在網(wǎng)絡上傳輸?shù)臄?shù)據(jù)量會大幅減小,。通常在服務器上的Apache、Nginx可以直接開啟這個設置,,也可以從代碼角度直接設置傳輸文件頭,,增加gzip的設置,也可以從負載均衡設備直接設置,。不過需要留意的是,,這個設置會略微增加服務器的負擔。

5,、css格式定義放置在文件頭部

這項設置對于用戶端是慢速網(wǎng)絡或網(wǎng)頁內(nèi)容比較龐大的情況比較有利,,可以在網(wǎng)頁逐步呈現(xiàn)的同時仍會保持格式信息,不影響網(wǎng)頁美感,。

6,、Javascript腳本放在文件末尾

很多Javascript腳本執(zhí)行效率低下,或者有的第3方域名腳本出現(xiàn)意外無法載入,,如果將這些腳本放置到頁面比較靠前的位置,,可能會導致我們自己網(wǎng)站的內(nèi)容載入速度下降甚至無法正常加載,所以一般將這些腳本放置在網(wǎng)頁文件末尾,,一定要放置在前面的腳本要改用所謂的“后載入”方式加載,,在主體網(wǎng)頁加載完成后再加載,,防止其影響到主體網(wǎng)頁的加載速度。

7,、避免使用CSS腳本(CSS Expressions)

有時為了要css的參數(shù)動態(tài)改變,,可能會采用css expression來實現(xiàn),,但這樣做得不償失,,會使用戶端瀏覽器負擔明顯加重,,所以不建議這樣做,,如果需要改變,,可以使用Javascript腳本去實現(xiàn)。

8,、css,、javascript改由外部調(diào)用

如果css、js內(nèi)容比較龐大,,盡量不要寫到同1個頁面中去,,改由外部載入比較妥當,因為瀏覽器本身會對css,、js文件進行緩存,。

9、壓縮Javascript,、CSS代碼

一般js,、css文件中存在大量的空格、換行,、注釋,,這些利于閱讀,如果能夠壓縮掉,,將會很有利于網(wǎng)絡傳輸,。這方面的工具也有很多,一般可以保留開發(fā)版本,,利用工具生成生產(chǎn)版本,,2個文件比較,一般壓縮率能達到50%以上,,減少的數(shù)據(jù)量還是比較可觀的,。

我這個博客剛改版完成,各種代碼還沒有進行優(yōu)化和壓縮,,目前yslow評級只能達到D,等有時間進行部分優(yōu)化,,達到C等級應該問題不大。

10,、避免采用301,、302轉向

11,、養(yǎng)成良好的開發(fā)維護習慣,盡量避免腳本重復調(diào)用

12,、配置ETags

13,、Ajax采用緩存調(diào)用

這個的使用可以參照Discuz論壇代碼,里面對于大量使用的Ajax調(diào)用都采用了緩存調(diào)用方式,,一般采用附加特征參數(shù)方式實現(xiàn),,注意其中的<script src=”xxx.js?{VERHASH}”,{VERHASH}就是特征參數(shù),,這個參數(shù)不變化就使用緩存文件,,如果發(fā)生變化則重新下載新文件或更新信息。

14,、合理使用Flush

用戶端發(fā)送瀏覽請求后,,服務器端一般要花銷200-500ms去處理這些請求,在此期間,,用戶端瀏覽器處于等待狀態(tài),,如果要減少用戶等待時間,可以在適當?shù)奈恢檬褂胒lush,,將已經(jīng)就緒的內(nèi)容推送到用戶端,,這在php中很容易實現(xiàn)例如

 ... <!-- css, js -->
    </head>
    <?php flush();?>
    <body>
 ... <!-- content -->

15、Ajax調(diào)用盡量采用GET方法調(diào)用

實際使用XMLHttpRequest時,,如果使用POST方法實現(xiàn),,會發(fā)生2次HTTP請求,而使用GET方法只會發(fā)生1次HTTP請求,。如果改用GET方法,,HTTP請求減少50%!

16,、盡可能減少DCOM元素

這個很好理解,,就是盡可能減少網(wǎng)頁中各種<>元素數(shù)量,例如<table>的冗余很嚴重,,而我們完全可以用<div>取代之,。

17、使用多域名負載網(wǎng)頁內(nèi)的多個文件,、圖片

記得有資料說明,,IE在網(wǎng)頁載入過程中,在同1時刻,,對同1域名并行加的HTTP請求數(shù)量最高為2個,,如果網(wǎng)頁需要加載的文件數(shù)量超過2個(通常遠遠超過..),要加快網(wǎng)頁訪問速度,,最好將文件分布到多個域名,,例如19樓,,其js文件采用獨立的域名,據(jù)說百度的圖片服務器數(shù)量在20臺以上,。

18,、縮減iframe的使用,如無必要,,盡量不要使用

iframe通常用于不同域名內(nèi)容的加載,,這同時也可能因iframe內(nèi)容加載速度影響到主網(wǎng)頁加載速度,如果可能,,把需要加載的內(nèi)容抓取到本地直接嵌入,。如果實在需要iframe加載,采用后載入方式實現(xiàn),。

19,、優(yōu)化圖片文件

優(yōu)化圖片文件,,減小其尺寸,,特別是縮略圖,一定要按尺寸生成縮略圖然后調(diào)用,,不要在網(wǎng)頁中用resize方法實現(xiàn),,雖然這樣看到的圖片外形笑了,但是其加載的數(shù)據(jù)量一點也沒減少,。曾經(jīng)見過有人在網(wǎng)頁中加載的縮略圖,,其真實尺寸有10M之巨…

普通圖像、icon也要盡可能壓縮后,,可以采用web圖像保存,、減少顏色數(shù)等等方法實現(xiàn)。

20,、當頁面內(nèi)容龐大到一定程度,,可以采用分頁的方式展現(xiàn),或者taobao的那種翻頁后載入方式

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多