網(wǎng)站的拜訪速度和性能對用戶體驗來說是非常重要的。假如你的網(wǎng)站拜訪非常的慢,你不僅會失去用戶,并且更可怕的是你會失去潛在的客戶。像Google這樣的互聯(lián)網(wǎng)巨子也會把網(wǎng)站拜訪速度作為排名的一個參數(shù)。因而當你需求優(yōu)化網(wǎng)站速度時,你需求考慮方方面面,每個毫秒。這里對改進網(wǎng)站性能提出一些基礎和普遍的主張。
1、假如或許的話,推遲加載一些內(nèi)容
能夠運用Ajax來按需加載部分內(nèi)容。比方一個相冊,能夠在用戶瀏覽頁面時先出縮略圖,當用戶點擊了,然后異步請求原圖并展現(xiàn),這樣用戶假如只需求看幾張圖片,就不需求等候一切圖片都加載下來。這種開發(fā)模式叫做推遲加載。
Ajax/Web開發(fā)類庫如jQuery,Prototype,與及MooTools能夠使得推遲加載更容易實現(xiàn)。
2、運用外部JS和CSS文件
當用戶第一次加載網(wǎng)頁時,瀏覽器會緩存住外部的CSS和JavaScript文件,所以將javascript和CSS放到外部文件比內(nèi)聯(lián)的會好。
運用內(nèi)聯(lián)CSS還會添加網(wǎng)頁的烘托時刻,讓一切款式都界說在你的主CSS文件中使得瀏覽器烘托頁面時少做一些工作,由于它一開始就知道一切需求運用的款式規(guī)則。另外運用外部javascript和css文件也有助于保護代碼。
3、運用緩存體系
假如你發(fā)現(xiàn)網(wǎng)站總是連接數(shù)據(jù)庫來查詢產(chǎn)生出同樣的結(jié)果,或許就需求運用緩存體系了。運用緩存的話,只需求生成一次特定的內(nèi)容而不需求用戶每次拜訪的時候都去生成。緩存體系也會依據(jù)配置周期性的刷新緩存。你能夠生成靜態(tài)HTML頁,以減小服務器腳本執(zhí)行的開消,或者運用數(shù)據(jù)庫和服務端腳本緩存體系,比方PHP的加速器,memcached等。
4、避免在html中改動圖片巨細
假如一張圖片原本是1280*900px的,可是你需求它顯現(xiàn)為400*280px的,你應該用圖片編輯器,如Photoshop來改動它的巨細,而不是運用HTML的width和height特點。
5、不要運用圖片來展現(xiàn)文字
圖片中的文字不但對用戶不友好(無法仿制等),對SEO也沒有好處,并且運用圖片來顯現(xiàn)文字會添加頁面加載時刻。假如你需求在網(wǎng)站中運用許多自界說的字體,能夠考慮運用CSS的@font-face特性去更有功率地展現(xiàn)特定字體。
6、運用正確的文件格局來優(yōu)化圖片巨細
通過選擇正確的力圖片格局,你能夠在不丟失圖片質(zhì)量的情況下優(yōu)化圖片巨細。例如,除非你需求PNG提供的圖片透明,不然JPG一般來說能夠在較小的文件情況下逼真地顯現(xiàn)圖片。
7、優(yōu)化寫代碼的方式
檢查你的源代碼,看看是否一切標簽都是需求的,或是可不能夠用CSS來替代。有效的書寫代碼不但減小HTML和CSS文件的巨細,也能便利保護。
8、在文檔的最終加載javascript
一切scripts都在頁面最終加載會比一開始就加載好,它能夠讓瀏覽器在加載javascript前烘托一切東西。瀏覽器在javascript下載完之前堵塞下面的內(nèi)容的加載。假如能夠的話,盡量將javascript放在緊挨著body結(jié)束標簽的地方。
9、運用內(nèi)容分發(fā)網(wǎng)絡(Content Delivery Network,CDN)
網(wǎng)站的速度和用戶相對于服務器的位置有很大的聯(lián)系。將內(nèi)容分發(fā)到不同的地理位置或許能夠緩解這個問題。運用CDN或許會添加費用,可是收益也是很明顯的。
10、優(yōu)化網(wǎng)頁緩存
既然運用了緩存體系,你應該運用盡或許多的緩存技術。網(wǎng)頁緩存是瀏覽器端對文件做的緩存,然后供用戶之后的拜訪。瀏覽器能夠緩存的內(nèi)容包含CSS文件,javascript文件和圖片。
除了把多個頁面都用到的CSS和javascript放在一個外部文件以外,還有許多方法來保證文件緩存起到最大的效果。例如你能夠設置HTTP響應頭為Expires和Last-Modified來削減用戶重新拜訪你網(wǎng)站時特定文件重新下載的次數(shù) |