…
關(guān)于壓縮,頭信息說明了是否緩存這個頁面,如果緩存的話如何去做,有什么cookies要去設(shè)置(前面這個響應(yīng)里沒有這點)和隱私信息等等。
請注意報頭中把Content-type設(shè)置為“text/html”。報頭讓瀏覽器將該響應(yīng)內(nèi)容以HTML形式呈現(xiàn),而不是以文件形式下載它。瀏覽器會根據(jù)報頭信息決定如何解釋該響應(yīng),不過同時也會考慮像URL擴展內(nèi)容等其他因素。
8. 瀏覽器開始顯示HTML
在瀏覽器沒有完整接受全部HTML文檔時,它就已經(jīng)開始顯示這個頁面了:
9. 瀏覽器發(fā)送獲取嵌入在HTML中的對象
在瀏覽器顯示HTML時,它會注意到需要獲取其他地址內(nèi)容的標(biāo)簽。這時,瀏覽器會發(fā)送一個獲取請求來重新獲得這些文件。
下面是幾個我們訪問facebook.com時需要重獲取的幾個URL:
* 圖片
http://static.ak.fbcdn.net/rsrc.php/z12E0/hash/8q2anwu7.gif
http://static.ak.fbcdn.net/rsrc.php/zBS5C/hash/7hwy7at6.gif
…
* CSS 式樣表
http://static.ak.fbcdn.net/rsrc.php/z448Z/hash/2plh8s4n.css
http://static.ak.fbcdn.net/rsrc.php/zANE1/hash/cvtutcee.css
…
* JavaScript 文件
http://static.ak.fbcdn.net/rsrc.php/zEMOA/hash/c8yzb6ub.js
http://static.ak.fbcdn.net/rsrc.php/z6R9L/hash/cq2lgbs8.js
…
這些地址都要經(jīng)歷一個和HTML讀取類似的過程。所以瀏覽器會在DNS中查找這些域名,發(fā)送請求,重定向等等…
但不像動態(tài)頁面那樣,靜態(tài)文件會允許瀏覽器對其進(jìn)行緩存。有的文件可能會不需要與服務(wù)器通訊,而從緩存中直接讀取。服務(wù)器的響應(yīng)中包含了靜態(tài)文件保存的期限 信息,所以瀏覽器知道要把它們緩存多長時間。還有,每個響應(yīng)都可能包含像版本號一樣工作的ETag頭(被請求變量的實體值),如果瀏覽器觀察到文件的版本 ETag信息已經(jīng)存在,就馬上停止這個文件的傳輸。
試著猜猜看“fbcdn.net”在地址中代表什么?聰明的答案是”Facebook內(nèi)容分發(fā)網(wǎng)絡(luò)”。Facebook利用內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)分發(fā)像圖片,CSS表和 JavaScript文件這些靜態(tài)文件。所以,這些文件會在全球很多CDN的數(shù)據(jù)中心中留下備份。
靜態(tài)內(nèi)容往往代表站點的帶寬大小,也能通過CDN輕松的復(fù)制。通常網(wǎng)站會使用第三方的CDN。例如,F(xiàn)acebook的靜態(tài)文件由最大的CDN提供商Akamai來托管。
舉例來講,當(dāng)你試著ping static.ak.fbcdn.net的時候,可能會從某個akamai.net服務(wù)器上獲得響應(yīng)。有意思的是,當(dāng)你同樣再ping一次的時候,響應(yīng)的服務(wù)器可能就不一樣,這說明幕后的負(fù)載平衡開始起作用了。
出處:css9.net
責(zé)任編輯:bluehearts
上一頁 從輸入網(wǎng)址到顯示網(wǎng)頁 [3] 下一頁 從輸入網(wǎng)址到顯示網(wǎng)頁 [5]
◎進(jìn)入論壇網(wǎng)站綜合、網(wǎng)頁制作版塊參加討論