經(jīng)常觀察大站的朋友都會發(fā)現(xiàn),他們都把CSS寫在HMTL頁面里,一個頁面的或者多個頁面的背景圖片,都集成到一張圖片里,他們有的JS文件,也寫到頁面里了……也許你會迷惑,現(xiàn)在到處講頁面的優(yōu)化,不都是要把CSS、JS都獨立出來,然后掉用嗎?大站這樣的做法豈不是不利于SEO?難道他們真的不懂SEO嗎?下面,我就給大家詳細解釋下其中原因。
首先,我們訪問網(wǎng)站的時候,會對服務器發(fā)出HTTP請求,網(wǎng)站打開的快慢,處理與頁面的大小圖片大小網(wǎng)速等多方面的因素外,還有個重要的因素就是HTTP 的請求數(shù)。HTTP的請求數(shù)越多,網(wǎng)站打開的速度當然就會越慢,對服務器發(fā)出一個HTTP請求,對頁面打開速度造成的延時大概是0.01秒,一個連接,一個圖片都會對發(fā)出一個請求,如果HTTP請求過多,就會造成頁面大量的延時,訪問速度自然就慢了。db08613
我們看到一些大站,他們頁面篇幅是非常巨大的,為了加快訪問的速度,他們就采用了減少HTTP請求的方法,把CSS寫到HMTL文件里,而不采用外部調(diào)用的方法。同樣的道理,一個頁面會有很多的背景圖片,背景圖雖然每個體積都很小,但是首次訪問的時候,會對服務器發(fā)出HTTP請求,造成延時。如果把所有的背景圖,都集成到一個圖片里,這樣就只會對服務器發(fā)出一個HTTP請求,請求數(shù)就會大量減少,延時就小了。然后采用CSS 的 background-image 和 background-position 屬性來實現(xiàn)所需的背景圖并定位,達到頁面所需要的表達效果。
對于頁面不常更新的地方,一般就是采用緩存的辦法來降低HTTP請求次數(shù)。有興趣的朋友可以去查閱下資料,ASP、PHP都有相應的實現(xiàn)方法。 我們在進行DIV+CSS布局的時候,有的朋友喜歡把CSS分成幾個部分,比如base.css、header.css、mianbody.css、footer.css這樣對頁面的維護和修改是比較方便的,比較清晰明朗,但是對加快服務器響應時間就存在問題了。所以一般是分開寫,寫好之后再合并。
所以,我們做頁面設計的時候,并不是說我用DIV+CSS來設計,比table更好了,符合W3C的標準了,完全符合HMTL的語義了,HMTL的標簽我也運用的精準到位了就夠了,我們還要考慮到HTTP的因素在里面。一個網(wǎng)站40%-60%的訪問者,是首次打開你的站點,如果你由于服務器的相應時間問題而影響了打開了的速度,對用戶體驗就會造成很大的影響。
減少HTTP請求,是從性能上來優(yōu)化網(wǎng)站的一個非常重要部分,也是SEO中非常重要的一個部分,也就是減少HTTP請求有利于SEO。