- Java EE程序設(shè)計與開發(fā)實踐教程
- 馮志林編著
- 673字
- 2021-10-27 17:05:20
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)。
- GAE編程指南
- Learning Real-time Processing with Spark Streaming
- 精通API架構(gòu):設(shè)計、運維與演進
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- Serverless架構(gòu)
- Highcharts Cookbook
- Visual C#通用范例開發(fā)金典
- Kotlin編程實戰(zhàn):創(chuàng)建優(yōu)雅、富于表現(xiàn)力和高性能的JVM與Android應(yīng)用程序
- Sails.js Essentials
- QlikView Unlocked
- Python預(yù)測分析實戰(zhàn)
- 實戰(zhàn)Python網(wǎng)絡(luò)爬蟲
- 從零開始學(xué)算法:基于Python
- 微信小程序開發(fā)圖解案例教程:附精講視頻(第3版)
- Python程序設(shè)計教程