定義
超文本傳輸協(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)