2008-10-17 41 views
1

我做了一些優化我的網站,我試圖找出一些內嵌代碼是多麼大的是,纔可以證明的,而不是被寫入內嵌有它自己的文件。當到單獨的文件以節省帶寬

我如何測量它的猜測是,代碼(在這種情況下,CSS或JS)的量將需要大於發送和接收穫得304響應的HTTP報文。

請忽略了一個事實,這是一個很好的做法,保持樣式和javascript了HTML頁面的只有想不到在瀏覽器的性能方面。 :)

+0

欣賞到目前爲止的答案,但這是理論多於實際。現在的問題是如何大做了一些代碼必須是之前緩存的HTTP請求是不是下載代碼內嵌小。 原因,這可能包括移動的發展,其中最大的增長放緩是多餘的http請求 – mjallday 2008-10-17 03:51:07

回答

5

老實說,在瀏覽器性能方面,分離你的CSS & JS文件並適當設置Expires頭,使他們被緩存將增加性能,不會降低它。瀏覽器將緩存它,並且永遠不會再請求它,這會減少在多個頁面查看期間傳輸的數據量。

只有當您的大多數觀衆來到您的網站時纔會使用空緩存只查看1頁會內聯CSS & JS幫助。

參見:

0

我還想補充一點,你應該你的JS/CSS合併成一個下載(每個)如果可能的話,以節省HTTP連接到Web服務器。我相信雅虎在Ryan發佈的URL中提出這個建議。我最終編寫了自己的可以結合腳本和CSS的.NET組件,並且在需要時將它們最小化並緩存它們(服務器端)。

+0

很遺憾,我有點想念回答原來的問題:你有一個通過單獨的頁面需要CSS或腳本,它需要在外部的任何時間文件。在複製的代碼沒有用。而像Ryan說,一旦瀏覽器下載並緩存它,就不會再得到它。 – 2008-10-17 03:40:27

0

但是,如果您的觀衆只會看到您的網站一次,或者如果你不想要文件被緩存,那麼包含CSS和JS內聯。

最佳做法是讓你的服務器合併和gzip所有的CSS/JS文件合併成一個文件緩存來保存請求和帶寬。

這可以很容易地安裝在至少Tomcat和Glassfish的。

0

展望它自己多一點;我想我正走在正確的軌道上。

實際的HTTP請求看起來有點像這樣:

HTTP/1.1 304 Not Modified 
Cache-Control: max-age=604800, public 
Last-Modified: Tue, 17 Jun 2008 17:20:41 GMT 
Date: Mon, 20 Oct 2008 03:49:58 GMT 
Server: ucfe 

大約是163個字節吧?

通過查看一下(http://www.freesoft.org/CIE/Course/Section4/8.htm),它看起來像一個TCP數據包本身的範圍可以從大約20個字節向上。

所以我猜想總的請求+響應看起來像大約250個字節(猜測tcp數據包的30個字節+請求和響應文本的一點填充)。真的沒什麼。

我想那時大家都是對的。沒什麼大不了的。仍然對這如何影響移動瀏覽器感興趣,但是多個請求的延遲將成爲大問題。

請講了,如果我在我的計算出現了失誤

相關問題