?
HTTP請(qǐng)求過(guò)程簡(jiǎn)介

瀏覽器一般是圖形界面的,因此我們并不了解在這華麗表面后面所發(fā)生的一切。當(dāng)你點(diǎn)擊一個(gè)連接時(shí),瀏覽器首先找到站點(diǎn)的IP地址,這是通過(guò)DNS來(lái)實(shí)現(xiàn)的。在找到IP地址后可以建立TCP連接了,連接建立后我們就可以發(fā)送請(qǐng)求了,但這個(gè)請(qǐng)求是什么樣子呢?我們現(xiàn)在假設(shè)點(diǎn)擊了一個(gè)從WWW.WEBMONKEY.COM/HTML/96/47/INDEX2A.HTML點(diǎn)擊了WWW.GRIPY.ORG/MATTMARG/,這時(shí)瀏覽器會(huì)發(fā)出下面的請(qǐng)求:

Get /mattmarg/*目錄在這里*/ / HTTP/1.0 User-Agent: Mozilla/2.0 (Macintosh; I; PPC) Accept: text/html; */* Cookie: name = value Referer: http://www.webmonkey.com/html/96/47/index2a.html /*源站點(diǎn) 或者說(shuō)是trackback的源頭*/ Host: www.grippy.org /*目標(biāo)站點(diǎn)*/

第一行稱為請(qǐng)求,它告訴服務(wù)器從MATTMARG取得文件,這里的目錄一般是要加/的。下面幾行通知服務(wù)器你所使用的瀏覽器是什么類型,你所接收的數(shù)據(jù)是什么類型。如果你以前訪問(wèn)過(guò)這個(gè)站點(diǎn),站點(diǎn)可能向你發(fā)送了cookie,如果你已經(jīng)有了一個(gè)這樣的cookie,瀏覽器會(huì)將這個(gè)cookie返回給服務(wù)器。referer行通知服務(wù)器用戶從哪一頁(yè)到達(dá)此頁(yè)的。

下面服務(wù)器就要返回文件了,每次服務(wù)器返回文件時(shí),都要返回一個(gè)http/1.0響應(yīng),同時(shí)帶有狀態(tài)碼,在此之后是一些描述內(nèi)部的頭信息。下面就是一個(gè)響應(yīng):

HTTP/1.0 200 Found

Date: Mon, 10 Feb 1997 23:48:22 GMT

Server: Apache/1.1.1 HotWired/1.0

Content-type: text/html

Last-Modified: Tues, 11 Feb 1997 22:45:55 GMT

不販數(shù)據(jù)可能返回不同的content-type,因此不同的內(nèi)容需要不同的content-type,因此有時(shí)候這個(gè)過(guò)程是很慢的。