客戶端發(fā)送的請(qǐng)求消息為字符流,由請(qǐng)求行(包括方法、統(tǒng)一資源標(biāo)識(shí)符URI和HTTP協(xié)議版本)和頭信息組成。
下面是一個(gè)合法的HTTP請(qǐng)求消息的例子。我們通過(guò)這個(gè)例子來(lái)大概了解一下HTTP請(qǐng)求消息。
GET /jytest/page/jsp02/easy.jsp
HTTP/1.1
Host:
localhost:8080
User-Agent:
Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:.11)
Accept:
text/html,application/xhtml+xml,application/xml,*/*
Accept-Language:
zh-cnAccept-Charset:
gb2312,utf-8
|
這里,請(qǐng)求行指定了用GET方法,訪問(wèn)一個(gè)名為/jytest/page/jsp02/easy.jsp的資源,并指定請(qǐng)求使用HTTP/1.1協(xié)議版本。
注意:請(qǐng)求的方法不光光只有GET,還有POST、HEAD、OPTIONS、DELETE、PUT、TRACE。其中,我們常用的是GET和POST方法,后邊會(huì)詳細(xì)講解,其余的各個(gè)方法大家簡(jiǎn)單了解即可。
Host首部可以像服務(wù)器通知URL中所用的主機(jī)名。
User-Agent首部包含了發(fā)出請(qǐng)求的瀏覽器的類型相關(guān)信息。服務(wù)器可以使用此信息向不同類型的瀏覽器發(fā)送不同類型的響應(yīng)。
Accept首部提供了瀏覽器所接受語(yǔ)言和文件格式的有關(guān)信息。這些首部可以用于針對(duì)瀏覽器的功能和用戶的首選項(xiàng)(如使用某種所支持的圖像格式和首選語(yǔ)言)對(duì)響應(yīng)加以調(diào)整。
請(qǐng)求信息由服務(wù)器進(jìn)一步處理,并生成相應(yīng)的響應(yīng),響應(yīng)消息由狀態(tài)行和頭信息組成。
下面是響應(yīng)消息的事例。
HTTP/1.x
200 OK
Server:
Apache-Coyote/1.1
Content-Type:
text/html
Content-Length: 186
Date:
Wed, 17 Jun 2009 00:57:35 GMT
|
第一行為狀態(tài)行,狀態(tài)行中的狀態(tài)碼200只是已經(jīng)成功處理請(qǐng)求,因此描述為“OK”。
注意:這里介紹下常見(jiàn)的狀態(tài)碼:404是找不到被請(qǐng)求的網(wǎng)頁(yè)時(shí)常遇到的狀態(tài)碼;500是服務(wù)器內(nèi)部錯(cuò)誤;503是服務(wù)器超時(shí)等,如果想具體了解,http://www.w3c.org上有很詳細(xì)的內(nèi)容。
Server頭部指定服務(wù)器軟件。
Content-Type頭部指定了文檔的MIME類型,如果是“text/html”指示格式化的Web文檔,如果是“text/plain”只是未格式化的文本文檔。
Content-length頭部指定文件的大小,以字節(jié)來(lái)表示。
以上,我們只是介紹了請(qǐng)求和響應(yīng)消息中可能包括的少數(shù)首部。更加詳細(xì)的介紹可以在http://www.w3c.org查看。