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