官术网_书友最值得收藏!

2.1.2 HTTP請求

HTTP請求分為四個部分(請求行、請求頭信息、空行和請求實體)。

1.請求行(請求方式、請求路徑和協(xié)議版本)

請求行以一個方法符號開頭,后面跟著請求URI和協(xié)議的版本,以CRLF作為結(jié)尾。請求行以空格進行分隔,除了作為結(jié)尾的CRLF外,不允許出現(xiàn)單獨的CR和LF字符。

格式如下:

其中,Method表示請求的方法;Request-URI是一個統(tǒng)一資源標(biāo)示符,表示要請求的資源;HTTP-version表示請求的HTTP協(xié)議版本;CRLF表示回車換行。

HTTP1.1支持的請求方法有7種:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet應(yīng)用中,最常用的方法是GET和POST方法。

(1)GET方法

GET請求方式(包括URL請求、超鏈接請求和表單缺省請求等):在URL請求地址后附帶參數(shù),通常數(shù)據(jù)容量不能超過1KB。

GET方法是默認(rèn)的HTTP請求方法,例如當(dāng)我們通過在瀏覽器的地址欄中直接輸入網(wǎng)址的方式去訪問網(wǎng)頁的時候,瀏覽器采用的就是GET方法向服務(wù)器獲取資源。

GET以URL方式提交數(shù)據(jù)(比如參數(shù)和表單數(shù)據(jù)),并將數(shù)據(jù)作為URL的一部分向服務(wù)器發(fā)送請求。例如:

因此,GET在安全性和URL長度上都會有所限制。

(2)POST方法

POST請求方式將數(shù)據(jù)封裝在消息主體(Entity-body),可以在請求實體中向服務(wù)器發(fā)送數(shù)據(jù),數(shù)據(jù)量不限大小。相對于GET方法而言,POST方法可接受大批量數(shù)據(jù)且消息體中的數(shù)據(jù)并無編碼要求。

2.請求頭信息(key:value)

下面列舉一些常用屬性:

3.空行

請求頭和請求實體之間用一個空行隔開,沒有請求實體時,空行仍不能省略。

4.請求實體

可選項,用于發(fā)送信息。

下面是一個HTTP請求的例子,代碼如下:

其中,01行是“GET”代表請求方法,“/sample.jsp”表示URI,HTTP/1.1代表協(xié)議和協(xié)議的版本。02~07行是請求頭信息,08行為空行,09行為請求實體內(nèi)容(請求正文中包含客戶提交的查詢字符串信息:username=wangjing&password=1234)。

主站蜘蛛池模板: 白玉县| 五指山市| 灵山县| 弋阳县| 图片| 星子县| 云安县| 腾冲县| 静乐县| 望江县| 龙南县| 阳信县| 开封市| 襄城县| 海宁市| 淅川县| 衡阳市| 遵义市| 湛江市| 苍溪县| 安新县| 榆中县| 株洲县| 天津市| 炉霍县| 神农架林区| 福州市| 伊春市| 和林格尔县| 龙山县| 东丰县| 扶风县| 古田县| 拉萨市| 杭锦后旗| 汉源县| 新源县| 杨浦区| 青龙| 宁海县| 乐业县|