概述:指伺服器和客戶端間進行通訊時的約束和規範,客戶端與服務端的資料互動並不是雜亂無章的,需要遵照(基於)一定的規範進行
常見的協定:
a) HTTP、HTTPS 超文本传输协议 b) FTP 文件传输协议 c) SMTP 简单邮件传输协议
本文主要介紹http超文本傳輸協定。
1、HTTP協議
即超文本傳輸協議,網站是基於HTTP協議的,例如網站的圖片、CSS、JS等都是基於HTTP協議進行傳輸的。 HTTP協定是由從客戶機到伺服器的請求(Request)和從伺服器到客戶機的回應(Response)進行了約束和規範
常用的請求方式有:GET, POST, PUT, DELETE
2、請求-請求訊息:
a) 請求由客戶端發起,其規範格式為:請求行、請求頭、請求主體。如:
b) 請求封包行: 由請求方式、請求網址與協定版本構成
c) 服務端的資料
註:當以post形式提交表單的時候,請求頭裡會設定Content-Type: application/x-www-form-urlencoded,而當以get形式請求時不需要這種設定
3、回應-回應封包:
a) 回應由伺服器發出,其規範格式為:狀態列、回應頭、回應主體
b) 回應頭:Host:localhost请求的主机 Cache-Control:max-age=0控制缓存(no-cache| no-store) Accept:*/* 接受的文档MIME类型 User-Agent:向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识. 浏览器UA 字串的标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息 Referer:从哪个URL跳转过来的 Accept-Encoding:可接受的压缩格式
服務端回傳給客戶端的內容
d) 狀態碼:
常見的狀態碼有:200---伺服器成功返回網頁、304---文件未修改、403---沒有權限、404 ---請求網頁不存在、500---伺服器錯誤、503---服務不可用說明:客戶端與伺服器在進行資料傳輸的時候都是以字節形式進行的,可以理解成是以文本形式傳輸,這時瀏覽器就需要明確知道該怎麼樣來解析這些文本形式的數據,MIME就是明確告知瀏覽器該如何來處理
對於http協議還有很多的知識點,本文僅介紹其傳輸的大概過程。學習並了解其組成,是為了更好的理解 ajax。