通過(guò)請(qǐng)求和響應(yīng)的交換完成通信
客戶(hù)端發(fā)送的請(qǐng)求報(bào)文有請(qǐng)求方法臼予、請(qǐng)求URI坟乾、協(xié)議版本、可選的請(qǐng)求首部字段和內(nèi)容實(shí)體構(gòu)成枪孩;
服務(wù)器返回的響應(yīng)報(bào)文由協(xié)議版本憔晒、狀態(tài)碼、解釋狀態(tài)碼的原因短語(yǔ)蔑舞、可選的響應(yīng)首部字段以及實(shí)體主體
HTTP是不保存狀態(tài)的協(xié)議
HTTP協(xié)議自身不具備保持之前發(fā)送過(guò)的請(qǐng)求或響應(yīng)的功能拒担;
請(qǐng)求URI定位資源
指定請(qǐng)求URI的方式有很多
- URI為完整的請(qǐng)求URI
GET http://hell.com/index.html HTTP/1.1
- 在首部字段host中寫(xiě)明網(wǎng)絡(luò)域名或IP地址
GET /index.html HTTP/1.1
Host: hell.com
告知服務(wù)器意圖的HTTP方法
- GET:獲取資源
- POST:傳輸實(shí)體主體
- PUT:傳輸文件
- DELETE:刪除文件
- HEAD:獲得報(bào)文頭部,與GET一樣攻询,但是不返回報(bào)文主體內(nèi)容从撼;
- OPTIONS:詢(xún)問(wèn)支持的方法,響應(yīng)GET, POST...
- TRACE:追蹤路徑
- CONNECT:要求在與代理服務(wù)器通信時(shí)建立隧道钧栖,實(shí)現(xiàn)用隧道協(xié)議進(jìn)行TCP通信低零。主要使用SSL和TSL協(xié)議進(jìn)行加密;
持久連接節(jié)省通信量
- 持久連接
只要任意一端沒(méi)有明確提出斷開(kāi)連接拯杠,則保持TCP連接狀態(tài) - 管線(xiàn)化
不用等待相應(yīng)即可發(fā)送下一個(gè)請(qǐng)求
使用cookie的狀態(tài)管理
Cookie根據(jù)服務(wù)器端發(fā)送的響應(yīng)報(bào)文中的一個(gè)叫做Set-Cookie的頭部字段信息掏婶,通知客戶(hù)端保存Cookie;
下次客戶(hù)端再往該服務(wù)器發(fā)送請(qǐng)求時(shí)潭陪,客戶(hù)端會(huì)自動(dòng)在請(qǐng)求報(bào)文中加入Cookie值發(fā)送雄妥;
服務(wù)器端發(fā)現(xiàn)客戶(hù)端發(fā)送過(guò)來(lái)的Cookie后,會(huì)進(jìn)行檢查對(duì)比依溯,得到狀態(tài)信息老厌;