什么是HTTP?
HTTP,全稱HyperText Transfer Protocol,即超文本傳輸協(xié)議,是基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)的萝喘。
HTTP的三個(gè)特點(diǎn):
1.HTTP是無連接的。
無連接的意思是什么?無連接是限制每次連接只處理一個(gè)請(qǐng)求阁簸,服務(wù)器處理完請(qǐng)求爬早,并且在客戶端的應(yīng)答后,就會(huì)斷開連接启妹。
那無連接有什么好處筛严?采用無連接可以節(jié)省傳輸時(shí)間。
2.HTTP是媒體獨(dú)立性的翅溺。
媒體獨(dú)立性應(yīng)該怎么理解脑漫?
所謂媒體獨(dú)立性髓抑,意味著只要服務(wù)器和客戶端知道如何處理的數(shù)據(jù)內(nèi)容咙崎,任何類型的數(shù)據(jù)都可以發(fā)送,當(dāng)然吨拍,前提是服務(wù)器和客戶端需要指定適合的MIME-type內(nèi)容類型褪猛。
3.HTTP是無狀態(tài)的。
那關(guān)于無狀態(tài)羹饰?
無狀態(tài)是指協(xié)議對(duì)于事務(wù)處理是沒有記憶能力的伊滋,這意味著,如果后續(xù)處理需要使用到前面的信息队秩,對(duì)應(yīng)的信息都需要重新傳送笑旺,這無疑會(huì)導(dǎo)致每次連接數(shù)據(jù)傳輸量變大。
這里附上一副HTTP協(xié)議通信流程圖:
HTTP請(qǐng)求
一個(gè)HTTP請(qǐng)求由以下四部分組成:請(qǐng)求行馍资、請(qǐng)求頭部筒主、空行和求數(shù)據(jù)。
例子:
POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive
<!--空行-->
name=Professional%20Ajax&publisher=Wiley
HTTP響應(yīng)
一個(gè)HTTP響應(yīng)同樣由四部分組成:狀態(tài)行鸟蟹、消息報(bào)頭乌妙、空行和響應(yīng)正文
例子:
HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8
<!--空行-->
<html>
<!--代碼-->
</html>
http狀態(tài)碼這里就放上一個(gè)鏈接:關(guān)于http狀態(tài)碼