3. 瀏覽器給web服務(wù)器發(fā)送一個HTTP請求:
因為像Facebook主頁這樣的動態(tài)頁面,打開后在瀏覽器緩存中很快甚至馬上就會過期,毫無疑問他們不能從中讀取。
所以,瀏覽器將把一下請求發(fā)送到Facebook所在的服務(wù)器:
GET http://facebook.com/ HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...] User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...] Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: facebook.com Cookie: datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]
GET 這個請求定義了要讀取的URL: “http://facebook.com/”。 瀏覽器自身定義 (User-Agent 頭), 和它希望接受什么類型的相應(yīng) (Accept and Accept-Encoding 頭). Connection頭要求服務(wù)器為了后邊的請求不要關(guān)閉TCP連接。
請求中也包含瀏覽器存儲的該域名的cookies?赡苣阋呀(jīng)知道,在不同頁面請求當(dāng)中,cookies是與跟蹤一個網(wǎng)站狀態(tài)相匹配的鍵值。這樣cookies會存儲登錄用戶名,服務(wù)器分配的密碼和一些用戶設(shè)置等。Cookies會以文本文檔形式存儲在客戶機(jī)里,每次請求時發(fā)送給服務(wù)器。
用來看原始HTTP請求及其相應(yīng)的工具很多。作者比較喜歡使用fiddler,當(dāng)然也有像FireBug這樣其他的工具。這些軟件在網(wǎng)站優(yōu)化時會幫上很大忙。 除了獲取請求,還有一種是發(fā)送請求,它常在提交表單用到。發(fā)送請求通過URL傳遞其參數(shù)(e.g.: http://robozzle.com/puzzle.aspx?id=85)。發(fā)送請求在請求正文頭之后發(fā)送其參數(shù)。
像“http://facebook.com/”中的斜杠是至關(guān)重要的。這種情況下,瀏覽器能安全的添加斜杠。而像“http: //example.com/folderOrFile”這樣的地址,因為瀏覽器不清楚folderOrFile到底是文件夾還是文件,所以不能自動添加 斜杠。這時,瀏覽器就不加斜杠直接訪問地址,服務(wù)器會響應(yīng)一個重定向,結(jié)果造成一次不必要的握手。
4. facebook服務(wù)的永久重定向響應(yīng)
圖中所示為Facebook服務(wù)器發(fā)回給瀏覽器的響應(yīng):
HTTP/1.1 301 Moved Permanently Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Sat, 01 Jan 2000 00:00:00 GMT Location: http://www.facebook.com/ P3P: CP=”DSP LAW” Pragma: no-cache Set-Cookie: made_write_conn=deleted; expires=Thu, 12-Feb-2009 05:09:50 GMT; path=/; domain=.facebook.com; httponly Content-Type: text/html; charset=utf-8 X-Cnection: close Date: Fri, 12 Feb 2010 05:09:51 GMT Content-Length: 0
服務(wù)器給瀏覽器響應(yīng)一個301永久重定向響應(yīng),這樣瀏覽器就會訪問“http://www.facebook.com/” 而非“http://facebook.com/”。
為什么服務(wù)器一定要重定向而不是直接發(fā)會用戶想看的網(wǎng)頁內(nèi)容呢?這個問題有好多有意思的答案。
其中一個原因跟搜索引擎排名有 關(guān)。你看,如果一個頁面有兩個地址,就像http://www.igoro.com/ 和http://igoro.com/,搜索引擎會認(rèn)為它們是兩個網(wǎng)站,結(jié)果造成每一個的搜索鏈接都減少從而降低排名。而搜索引擎知道301永久重定向是 什么意思,這樣就會把訪問帶www的和不帶www的地址歸到同一個網(wǎng)站排名下。
還有一個是用不同的地址會造成緩存友好性變差。當(dāng)一個頁面有好幾個名字時,它可能會在緩存里出現(xiàn)好幾次。
出處:css9.net
責(zé)任編輯:bluehearts
上一頁 從輸入網(wǎng)址到顯示網(wǎng)頁 [1] 下一頁 從輸入網(wǎng)址到顯示網(wǎng)頁 [3]
◎進(jìn)入論壇網(wǎng)站綜合、網(wǎng)頁制作版塊參加討論
|