網(wǎng)絡(luò)傳輸協(xié)議(http協(xié)議)
概述:指服務(wù)器和客戶端間進(jìn)行通信時的約束和規(guī)范,客戶端與服務(wù)端的數(shù)據(jù)交互并不是雜亂無章的,需要遵照(基于)一定的規(guī)范進(jìn)行
常見的協(xié)議:
a) HTTP、HTTPS 超文本傳輸協(xié)議 b) FTP 文件傳輸協(xié)議 c) SMTP 簡單郵件傳輸協(xié)議
本文主要介紹http超文本傳輸協(xié)議。
1、HTTP協(xié)議
即超文本傳輸協(xié)議,網(wǎng)站是基于HTTP協(xié)議的,例如網(wǎng)站的圖片、CSS、JS等都是基于HTTP協(xié)議進(jìn)行傳輸?shù)?。HTTP協(xié)議是由從客戶機(jī)到服務(wù)器的請求(Request)和從服務(wù)器到客戶機(jī)的響應(yīng)(Response)進(jìn)行了約束和規(guī)范
常用的請求方式有:GET, POST, PUT, DELETE
2、請求-請求報文:
a) 請求由客戶端發(fā)起,其規(guī)范格式為:請求行、請求頭、請求主體。如:
b) 請求報文行: 由請求方式、請求URL和協(xié)議版本構(gòu)成
c) 請求報文頭
Host:localhost請求的主機(jī) Cache-Control:max-age=0控制緩存(no-cache| no-store) Accept:*/* 接受的文檔MIME類型 User-Agent:向訪問網(wǎng)站提供你所使用的瀏覽器類型、操作系統(tǒng)及版本、CPU 類型、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等信息的標(biāo)識. 瀏覽器UA 字串的標(biāo)準(zhǔn)格式為: 瀏覽器標(biāo)識 (操作系統(tǒng)標(biāo)識; 加密等級標(biāo)識; 瀏覽器語言) 渲染引擎標(biāo)識 版本信息 Referer:從哪個URL跳轉(zhuǎn)過來的 Accept-Encoding:可接受的壓縮格式
d) 請求報文體:即傳遞給服務(wù)端的數(shù)據(jù)
注:當(dāng)以post形式提交表單的時候,請求頭里會設(shè)置Content-Type: application/x-www-form-urlencoded,而當(dāng)以get形式請求時不需要這種設(shè)置
3、響應(yīng)-響應(yīng)報文 :
a) 響應(yīng)由服務(wù)器發(fā)出,其規(guī)范格式為:狀態(tài)行、響應(yīng)頭、響應(yīng)主體
b) 響應(yīng)頭:
Date:響應(yīng)時間 Server:服務(wù)器信息 Content-Length:響應(yīng)主體長度 Content-Type:響應(yīng)資源的MIME類型
c) 響應(yīng)主體:即服務(wù)端返回給客戶端的內(nèi)容
d) 狀態(tài)碼:
常見的狀態(tài)碼有:200---服務(wù)器成功返回網(wǎng)頁、304---文檔未修改、403---沒有權(quán)限、404---請求網(wǎng)頁不存在、500---服務(wù)器錯誤、503---服務(wù)不可用
說明:客戶端與服務(wù)器在進(jìn)行數(shù)據(jù)傳輸?shù)臅r候都是以字節(jié)形式進(jìn)行的,可以理解成是以文本形式傳輸,這時瀏覽器就需要明確知道該怎么樣來解析這些文本形式的數(shù)據(jù),MIME就是明確告知瀏覽器該如何來處理
對于http協(xié)議還有很多的知識點(diǎn),本文僅介紹其傳輸?shù)拇蟾胚^程。學(xué)習(xí)并了解其組成,是為了更好的理解 ajax。詳情請看---ajax的概述和實(shí)現(xiàn)過程,希望對大家有所幫助!
相關(guān)文章
IE網(wǎng)頁js語法錯誤2行字符1、FF中正常的解決方法
使用模態(tài)窗體則會先彈出此錯誤然后再顯示新打開的界面,經(jīng)搜索找到不錯的解決方法,有類似問題的朋友可以參考下,希望對大家有所幫助2013-09-09Javascript基礎(chǔ)教程之break和continue語句
文章通過示例向我們展示了javascript中的break和continue語句,兩個對比起來,非常明了,需要的朋友可以參考下2015-01-01javascript實(shí)現(xiàn)存儲hmtl字符串示例
這篇文章主要介紹了javascript實(shí)現(xiàn)存儲hmtl字符串示例,需要的朋友可以參考下2014-04-04Javascript核心讀書有感之表達(dá)式和運(yùn)算符
這篇文章主要介紹了Javascript核心讀書有感之表達(dá)式和運(yùn)算符,十分詳細(xì),需要的朋友可以參考下2015-02-02淺析javascript的間隔調(diào)用和延時調(diào)用
文章主要通過小實(shí)例談?wù)刯avascript的間隔調(diào)用和延時調(diào)用,非常的簡單實(shí)用,有需要的小伙伴可以參考下2014-11-11JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三個函數(shù)的理解
以前一直會三個函數(shù)的使用產(chǎn)生混淆,現(xiàn)在通過對三個函數(shù)的原型定義的理解,其實(shí)很容易記住三個函數(shù)。2010-04-04js 實(shí)現(xiàn)復(fù)制到粘貼板的功能代碼
主要是用到了 window.clipboardData.setData("Text",copyText);2010-05-05