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