應(yīng)用層協(xié)議Http(一) 連接過程

定義

超文本傳輸協(xié)議。定義了Web端如何與服務(wù)器對(duì)話,以及數(shù)據(jù)如何從服務(wù)器傳回客戶端,即一個(gè)數(shù)據(jù)格式。

連接?

使用TCP/IP傳輸數(shù)據(jù)

1.默認(rèn) 客戶端在端口80打開與服務(wù)器的一個(gè)TCP連接,URL也可以指定其他端口

2.客戶端向服務(wù)器發(fā)送消息

格式

首部?

空行\(zhòng)r\n\r\n?

請(qǐng)求的數(shù)據(jù)

首部具體格式:

請(qǐng)求行 (方法 資源路徑 Http版本)

keyword:value (keyword不區(qū)分大小寫,value有時(shí)區(qū)分有時(shí)不區(qū)分)

可選

例子

GET /index.html HTTP/1.1

User-Agent:Mozilla/5.0(maCINTOSH;Intel Mac os x 10.8;rv:20.0) Gecko/20100101 Firefox/20.0

Host:en.wikipedia.org

Connection:keep-alive

Accept-Language:en-US,en;q=0.5

Accept-Encoding:gzip,deflate

Accept:text/html,application/xhtml+xml,application/xml;q=0/9,*/*;q=0.8

3.服務(wù)器端向客戶端發(fā)送響應(yīng)

格式:

響應(yīng)碼 ? ? 1xx提供消息的響應(yīng) ? 2xx提示成功 ? ?3xx 重定向 ? ?4xx客戶端錯(cuò)誤 ? 5xx服務(wù)器錯(cuò)誤

元數(shù)據(jù)首部

數(shù)據(jù)

常用響應(yīng)碼

200 OK ? ?客戶端請(qǐng)求成功

400 BadRequest ? 客戶端請(qǐng)求語法錯(cuò)誤,不能被服務(wù)器所理解

401 Unauthorized ? 請(qǐng)求未經(jīng)授權(quán),這個(gè)狀態(tài)代碼必須和WWW-Authentication報(bào)頭域一起使用

403 Forbidden ? ?服務(wù)器收到請(qǐng)求,但拒絕提供服務(wù)

404 Not Found ? ?請(qǐng)求資源不存在,如輸入了錯(cuò)誤的URL

500 Internal Server Error ? ?服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤

503 Server Unavailable ? ? 服務(wù)器當(dāng)前不能處理客戶端請(qǐng)求,一段時(shí)間后能恢復(fù)正常

例子:

HTTP/1.1 200 OK

Date:Sun,21 Apr 2013 15:12:46 GMT

Server:ApacheConnection:close

Content-Type:text/html;charset=ISO-8859-1

Content-length:115

回送數(shù)據(jù)


與Http服務(wù)器通信遵循一種請(qǐng)求-響應(yīng)模式:先是一個(gè)無狀態(tài)的請(qǐng)求,后是一個(gè)無狀態(tài)的響應(yīng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容