指服務(wù)器和客戶端之間進(jìn)行通信是的約束和規(guī)范赴邻,客戶端與服務(wù)端的數(shù)據(jù)交互不是雜亂無章的哨坪,需要遵照一定的規(guī)范進(jìn)行。
常見協(xié)議
HTTP乍楚,HTTPS超文本傳輸協(xié)議
FTP文件傳輸協(xié)議
SMTP簡單郵件傳輸協(xié)議
- HTTP協(xié)議
- 即超文本傳輸協(xié)議当编,網(wǎng)站是基于HTTP協(xié)議的,例如網(wǎng)站的圖片徒溪、CSS忿偷、JS等都是基于HTTP協(xié)議進(jìn)行傳輸?shù)摹?/li>
- HTTP協(xié)議是由從客戶機(jī)到服務(wù)器的請求(Request)和從服務(wù)器到客戶機(jī)的響應(yīng)(Response)進(jìn)行了約束和規(guī)范。
- 即HTTP協(xié)議主要由請求和響應(yīng)構(gòu)成臊泌。
常用請求方法 POST鲤桥、GET、PUT渠概、DELETE
請求報文
請求由客戶端發(fā)起茶凳,其規(guī)范格式為:請求行、請求頭播揪、請求主體贮喧。
- 1、請求行
由請求方式猪狈、請求URL和協(xié)議版本構(gòu)成
- 2箱沦、請求頭
Host:localhost請求的主機(jī)
Cache-Control:max-age=0控制緩存
Accept:/ 接受的文檔MIME類型
User-Agent:很重要
Referer:從哪個URL跳轉(zhuǎn)過來的
Accept-Encoding:可接受的壓縮格式
- 3、請求主體
即傳遞給服務(wù)端的數(shù)據(jù)
注:當(dāng)以post形式提交表單的時候雇庙,請求頭里會設(shè)置
Content-Type: application/x-www-form-urlencoded谓形,以get形式當(dāng)不需要
響應(yīng)報文
響應(yīng)由服務(wù)器發(fā)出灶伊,其規(guī)范格式為:狀態(tài)行、響應(yīng)頭寒跳、響應(yīng)主體聘萨。
- 1、狀態(tài)行
由協(xié)議版本號童太、狀態(tài)碼和狀態(tài)信息構(gòu)成
- 2米辐、響應(yīng)頭
Date:響應(yīng)時間
Server:服務(wù)器信息
Content-Length:響應(yīng)主體長度
Content-Type:響應(yīng)資源的MIME類型
MIME是標(biāo)識文件類型的,文件后綴并不能正確無誤的標(biāo)識文件的類型康愤。
客戶端與服務(wù)器在進(jìn)行數(shù)據(jù)傳輸?shù)臅r候都是以字節(jié)形式進(jìn)行的,咱們可以理解成是以“文本形式”傳輸舶吗,這時瀏覽器就需要明確知道該怎么樣來解析這些文本形式的數(shù)據(jù)征冷,MIME就是明確告知瀏覽器該如何來處理。
- 3誓琼、響應(yīng)主體
- 即服務(wù)端返回給客戶端的內(nèi)容检激;
狀態(tài)碼
- 即服務(wù)端返回給客戶端的內(nèi)容检激;
常見的有200代表成功、304文檔未修改腹侣、403沒有權(quán)限叔收、404未找到、500服務(wù)器錯誤
調(diào)試工具
利用HTTP抓包工具在開發(fā)中可以幫我們進(jìn)行調(diào)試傲隶,常用抓包工具HttpWatch饺律、Fiddler、Charles跺株、FireBug等
瀏覽器插件:
Firebug复濒、HttpWatch、chrome dev tools
代理軟件:
Charles乒省、Fiddler