亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

http無(wú)狀態(tài)的含義理解 無(wú)狀態(tài)協(xié)議什么意思

Hi , 大家好 。我們?nèi)粘I钪薪?jīng)常會(huì)使用瀏覽器訪問(wèn)Web站點(diǎn)這個(gè)過(guò)程中到底發(fā)生了什么嗎?為什么我們?cè)跒g覽器地址欄上面輸入要訪問(wèn)的URL后就可以訪問(wèn)到Web頁(yè)面呢?這幾乎是面試過(guò)程中的高頻問(wèn)題 。
簡(jiǎn)單來(lái)說(shuō),當(dāng)我們?cè)跒g覽器地址欄上輸入要訪問(wèn)的URL后,瀏覽器會(huì)分析出URL上面的域名,然后通過(guò)DNS服務(wù)器查詢出域名映射的IP地址,瀏覽器根據(jù)查詢到的IP地址與Web服務(wù)器進(jìn)行通信 , 而通信的協(xié)議就是HTTP協(xié)議,以下就給大家詳細(xì)介紹HTTP協(xié)議 。

HTTP簡(jiǎn)介
簡(jiǎn)介HTTP超文本傳輸協(xié)議(HyperText Transfer Protocol)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議 。HTTP是萬(wàn)維網(wǎng)的數(shù)據(jù)通信的基礎(chǔ) 。是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡(jiǎn)捷、快速的方式,適用于分布式超媒體信息系統(tǒng) 。它于1990年提出,經(jīng)過(guò)幾年的使用與發(fā)展 , 得到不斷地完善和擴(kuò)展 , 目前在WWW中使用的是HTTP/1.0的第六版 。
HTTP協(xié)議特點(diǎn)HTTP協(xié)議的主要特點(diǎn)可概括如下:
1.支持客戶/服務(wù)器模式 。
2.簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑 。請(qǐng)求方法常用的有GET、HEAD、POST 。每種方法規(guī)定 了客戶與服務(wù)器聯(lián)系的類(lèi)型不同 。由于HTTP協(xié)議簡(jiǎn)單,使得HTTP服務(wù)器的程序規(guī)模小 , 因而通信速度很快 。
3.靈活:HTTP允許傳輸任意類(lèi)型的數(shù)據(jù)對(duì)象 。正在傳輸?shù)念?lèi)型由Content-Type加以標(biāo)記 。
4.無(wú)連接:無(wú)連接的含義是限制每次連接只處理一個(gè)請(qǐng)求 。服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后 , 即斷開(kāi)連接 。采用這種方式可以節(jié)省傳輸時(shí)間 。
5.無(wú)狀態(tài):HTTP協(xié)議是無(wú)狀態(tài)協(xié)議 。無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力 。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大 。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快 。
作用我們可以把這個(gè)HTTP通信過(guò)程類(lèi)比成一個(gè)電話對(duì)話 。當(dāng)我們要打電話給某個(gè)人,首先要知道對(duì)方的電話號(hào)碼,然后進(jìn)行撥號(hào) 。打通電話后我們會(huì)進(jìn)行對(duì)話,當(dāng)然要對(duì)話肯定需要共同的語(yǔ)言,如果一個(gè)人說(shuō)國(guó)語(yǔ) , 而另一個(gè)人說(shuō)英語(yǔ),那肯定不能進(jìn)行溝通 。電話號(hào)碼相當(dāng)于上面的IP地址,而共同語(yǔ)言相當(dāng)于HTTP協(xié)議 。
工作原理

http無(wú)狀態(tài)的含義理解 無(wú)狀態(tài)協(xié)議什么意思

文章插圖
(1) 客戶端連接到Web服務(wù)器
一個(gè)HTTP客戶端 , 通常是瀏覽器,與Web服務(wù)器的HTTP端口(默認(rèn)為80)建立一個(gè)TCP套接字連接 。例如,http://www.oakcms.cn 。
(2) 發(fā)送HTTP請(qǐng)求
通過(guò)TCP套接字,客戶端向Web服務(wù)器發(fā)送一個(gè)文本的請(qǐng)求報(bào)文,一個(gè)請(qǐng)求報(bào)文由請(qǐng)求行、請(qǐng)求頭部、空行和請(qǐng)求數(shù)據(jù)4部分組成 。
(3) 服務(wù)器接受請(qǐng)求并返回HTTP響應(yīng)
Web服務(wù)器解析請(qǐng)求,定位請(qǐng)求資源 。服務(wù)器將資源復(fù)本寫(xiě)到TCP套接字,由客戶端讀取 。一個(gè)響應(yīng)由狀態(tài)行、響應(yīng)頭部、空行和響應(yīng)數(shù)據(jù)4部分組成 。
(4) 釋放連接TCP連接
若connection 模式為close,則服務(wù)器主動(dòng)關(guān)閉TCP連接,客戶端被動(dòng)關(guān)閉連接,釋放TCP連接;若connection 模式為keepalive,則該連接會(huì)保持一段時(shí)間,在該時(shí)間內(nèi)可以繼續(xù)接收請(qǐng)求;
(5) 客戶端瀏覽器解析HTML內(nèi)容
客戶端瀏覽器首先解析狀態(tài)行,查看表明請(qǐng)求是否成功的狀態(tài)代碼 。然后解析每一個(gè)響應(yīng)頭,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集 ??蛻舳藶g覽器讀取響應(yīng)數(shù)據(jù)HTML,根據(jù)HTML的語(yǔ)法對(duì)其進(jìn)行格式化,并在瀏覽器窗口中顯示 。

【http無(wú)狀態(tài)的含義理解 無(wú)狀態(tài)協(xié)議什么意思】HTTP協(xié)議介紹
HTTP協(xié)議之URIHTTP使用統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifiers, URI)來(lái)傳輸數(shù)據(jù)和建立連接 。URL是一種特殊類(lèi)型的URI,包含了用于查找某個(gè)資源的足夠的信息
URL,全稱(chēng)是Uniform Resource Locator, 中文叫統(tǒng)一資源定位符,是互聯(lián)網(wǎng)上用來(lái)標(biāo)識(shí)某一處資源的地址 。以下面這個(gè)URL為例,介紹下普通URL的各部分組成:
http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
從上面的URL可以看出 , 一個(gè)完整的URL包括以下幾部分:
1.協(xié)議部分:該URL的協(xié)議部分為“http:”,這代表網(wǎng)頁(yè)使用的是HTTP協(xié)議 。在Internet中可以使用多種協(xié)議,如HTTP,F(xiàn)TP等等本例中使用的是HTTP協(xié)議 。在”HTTP”后面的“//”為分隔符
2.域名部分:該URL的域名部分為“www.aspxfans.com” 。一個(gè)URL中,也可以使用IP地址作為域名使用
3.端口部分:跟在域名后面的是端口 , 域名和端口之間使用“:”作為分隔符 。端口不是一個(gè)URL必須的部分,如果省略端口部分,將采用默認(rèn)端口
4.虛擬目錄部分:從域名后的第一個(gè)“/”開(kāi)始到最后一個(gè)“/”為止,是虛擬目錄部分 。虛擬目錄也不是一個(gè)URL必須的部分 。本例中的虛擬目錄是“/news/”
5.文件名部分:從域名后的最后一個(gè)“/”開(kāi)始到“?”為止,是文件名部分,如果沒(méi)有“?”,則是從域名后的最后一個(gè)“/”開(kāi)始到“#”為止,是文件部分,如果沒(méi)有“?”和“#” , 那么從域名后的最后一個(gè)“/”開(kāi)始到結(jié)束,都是文件名部分 。本例中的文件名是“index.asp” 。文件名部分也不是一個(gè)URL必須的部分 , 如果省略該部分 , 則使用默認(rèn)的文件名
6.錨部分:從“#”開(kāi)始到最后,都是錨部分 。本例中的錨部分是“name” 。錨部分也不是一個(gè)URL必須的部分
7.參數(shù)部分:從“?”開(kāi)始到“#”為止之間的部分為參數(shù)部分,又稱(chēng)搜索部分、查詢部分 。本例中的參數(shù)部分為“boardID=5&ID=24618&page=1” 。參數(shù)可以允許有多個(gè)參數(shù),參數(shù)與參數(shù)之間用“&”作為分隔符 。
HTTP協(xié)議之請(qǐng)求組成:
1.請(qǐng)求行
2.若干“頭部行”
3.實(shí)體主體(通常不用)
http無(wú)狀態(tài)的含義理解 無(wú)狀態(tài)協(xié)議什么意思

文章插圖
第一部分:請(qǐng)求行
GET /js/an.js HTTP/1.1
GET說(shuō)明請(qǐng)求類(lèi)型為GET,[js/an.js]為要訪問(wèn)的資源 , 該行的最后一部分說(shuō)明使用的是HTTP1.1版本 。
第二部分:請(qǐng)求頭部
Accept: */*#可接受的媒體類(lèi)型Accept-Encoding: gzip, deflate#可接受的編碼Accept-Language: zh-cn#接受的語(yǔ)言Connection: Keep-Alive#持久連接Host: cache.soso.com#HostReferer: http://help.soso.com/#引用頁(yè)面User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; InfoPath.2)#用戶代理注意:實(shí)體主體沒(méi)有 , 也必須要有空行 。
HTTP協(xié)議之響應(yīng)(1)響應(yīng)報(bào)文結(jié)構(gòu)
在接收和解釋請(qǐng)求消息后,服務(wù)器返回一個(gè)HTTP響應(yīng)消息 。
http無(wú)狀態(tài)的含義理解 無(wú)狀態(tài)協(xié)議什么意思

文章插圖
響應(yīng)報(bào)文的開(kāi)始行是狀態(tài)行:狀態(tài)行包括三項(xiàng)內(nèi)容,即 HTTP 的版本,狀態(tài)碼,以及解釋狀態(tài)碼的簡(jiǎn)單短語(yǔ) 。
HTTP響應(yīng)也是由三個(gè)部分組成,分別是:狀態(tài)行、頭部行、響應(yīng)正文 。
(2)狀態(tài)碼
狀態(tài)代碼有三位數(shù)字組成,第一個(gè)數(shù)字定義了響應(yīng)的類(lèi)別,且有五種可能取值:
http無(wú)狀態(tài)的含義理解 無(wú)狀態(tài)協(xié)議什么意思

文章插圖
1xx :表示通知信息的,如請(qǐng)求收到了或正在進(jìn)行處理 。
2xx:表示成功,如接受或知道了 。
3xx :表示重定向,表示要完成請(qǐng)求還必須采取進(jìn)一步的行動(dòng) 。
4xx :表示客戶端的差錯(cuò),如請(qǐng)求中有錯(cuò)誤的語(yǔ)法或不能完成 。
5xx :表示服務(wù)器的差錯(cuò) , 如服務(wù)器失效無(wú)法完成請(qǐng)求 。
(3)常見(jiàn)狀態(tài)碼
200 OK//客戶端請(qǐng)求成功400 Bad Request//客戶端請(qǐng)求有語(yǔ)法錯(cuò)誤,不能被服務(wù)器所理解401 Unauthorized //請(qǐng)求未經(jīng)授權(quán),這個(gè)狀態(tài)代碼必須和WWW-Authenticate報(bào)頭域一起使用403 Forbidden //服務(wù)器收到請(qǐng)求,但是拒絕提供服務(wù)404 Not Found //請(qǐng)求資源不存在,eg:輸入了錯(cuò)誤的URL500 Internal Server Error//服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤503 Server Unavailable//服務(wù)器當(dāng)前不能處理客戶端的請(qǐng)求 , 一段時(shí)間后可能恢復(fù)正常
HTTP連接類(lèi)型
連接類(lèi)型HTTP既可以使用非持久連接(nonpersistent connection),也可以使用持久連接(persistent connection) 。HTTP/1.0使用非持久連接,HTTP/1.1默認(rèn)使用持久連接 。
持久連接情況下,服務(wù)器在發(fā)出響應(yīng)后讓TCP連接繼續(xù)打開(kāi)著 。同一對(duì)客戶/服務(wù)器之間的后續(xù)請(qǐng)求和響應(yīng)可以通過(guò)這個(gè)連接發(fā)送 。
持久連接分為不帶流水線(without pipelining)和帶流水線(with pipelining)兩個(gè)版本 。如果是不帶流水線的版本 , 那么客戶只在收到前一個(gè)請(qǐng)求的響應(yīng)后才發(fā)出新的請(qǐng)求 。
區(qū)別流水線方式和非流水線方式的區(qū)別:
  • 流水線方式指沒(méi)有收到上一個(gè)請(qǐng)求的對(duì)象就發(fā)送新的對(duì)象的請(qǐng)求
  • 非流水線方式指必須要等到上一個(gè)請(qǐng)求的對(duì)象到達(dá)之后再發(fā)送新的對(duì)象的請(qǐng)求
更多系列文章
敬請(qǐng)期待


    以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專(zhuān)業(yè)人士給予相關(guān)指導(dǎo)!

    「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: