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)求: |
第一行稱為請(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ò)程是很慢的。