精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網(wǎng)

17站長網(wǎng) 首頁 編程教程Http教程

Http教程

Http教程

HTTP是一個簡單的請求-響應(yīng)協(xié)議,它通常運行在來TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。請求和響應(yīng)消息的頭以ASCII碼形式給出;而消息內(nèi)容則具有一個類似MIME的格式。這個簡單模型是早期Web成功的有功之臣,因為它使得開發(fā)和部署是那么的直截了當。

萬維網(wǎng)WWW(world wide web)發(fā)源于歐洲日內(nèi)瓦量子物理實驗室CERN,正是WWW技術(shù)的出現(xiàn)使得因特網(wǎng)得以超乎想象的速度迅猛發(fā)展。這項基于TCP/IP的技術(shù)在短短的十年時間內(nèi)迅速成為已經(jīng)發(fā)展了幾十年的Internet上的規(guī)模最大的信息系統(tǒng),它的成功歸結(jié)于它的簡單、實用。在WWW的背后有一系列的協(xié)議和標準支持它完成如此動人的工作,這就是Web協(xié)議族,其中就包括HTTP超文本傳輸協(xié)議。

在1990年,HTTP就成為WWW的支撐協(xié)議。當時由其創(chuàng)始人WWW之父蒂姆·貝納斯·李(TimBemers—Lee)提出,隨后WWW聯(lián)盟(WWW Consortium)成立,組織了IETE(Internet Engineering Task Force)小組進一步完善和發(fā)布HTTP協(xié)議。

HTTP是應(yīng)用層協(xié)議,同其他應(yīng)用層協(xié)議一樣,是為了實現(xiàn)某一類具體應(yīng)用的協(xié)議,并由某一運行在用戶空間的應(yīng)用程序來實現(xiàn)其功能。HTTP是一種協(xié)議規(guī)范,這種規(guī)范記錄在文檔上,為真正通過HTTP協(xié)議進行通信的HTTP的實現(xiàn)程序。

HTTP協(xié)議是基于C/S架構(gòu)進行通信的,而HTTP協(xié)議的服務(wù)器端實現(xiàn)程序有httpd、nginx等,其客戶端的實現(xiàn)程序主要是Web瀏覽器,例如Firefox、InternetExplorer、Google chrome、Safari、Opera等,此外,客戶端的命令行工具還有elink、crul等。Web服務(wù)是基于TCP的,因此為了能夠隨時響應(yīng)客戶端的請求,Web服務(wù)器需要監(jiān)聽在80/TCP端口。這客戶端瀏覽器和Web服務(wù)器之間就可以通過HTTP協(xié)議進行通信了。

HTTP 發(fā)展階段

0.9

0.9協(xié)議是適用于各種數(shù)據(jù)信息的簡潔快速協(xié)議,但是遠不能滿足日益發(fā)展的各種應(yīng)用的需要。0.9協(xié)議就是一個交換信息的無序協(xié)議,僅僅限于文字。由于無法進行內(nèi)容的協(xié)商,在雙發(fā)的握手和協(xié)議中,并有規(guī)定雙發(fā)的內(nèi)容是什么,也就是圖片是無法顯示和處理的。

1.0

到了1.0協(xié)議階段,也就是在1982年,TimBerners-Lee提出了HTTP/1.0。在此后的不斷豐富和發(fā)展中,HTTP/1.0成為最重要的面向事務(wù)的應(yīng)用層協(xié)議。該協(xié)議對每一次請求/響應(yīng)建立并拆除一次連接。其特點是簡單、易于管理,所以它符合了大家的需要,得到了廣泛的應(yīng)用。

1.1

在1.0協(xié)議中,雙方規(guī)定了連接方式和連接類型,這已經(jīng)極大擴展了HTTP的領(lǐng)域,但對于互聯(lián)網(wǎng)最重要的速度和效率,并沒有太多的考慮。畢竟,作為協(xié)議的制定者,當時也沒有想到HTTP協(xié)議會有那么快的普及速度。

關(guān)于HTTP1.1協(xié)議的具體內(nèi)容可以參考RFC 2616。

2.0

HTTP2.0的前世是HTTP1.0和HTTP1.1。雖然之前僅僅只有兩個版本,但這兩個版本所包含的協(xié)議規(guī)范之龐大,足以讓任何一個有經(jīng)驗的工程師為之頭疼。網(wǎng)絡(luò)協(xié)議新版本并不會馬上取代舊版本。實際上,1.0和1.1在之后很長的一段時間內(nèi)一直并存,這是由于網(wǎng)絡(luò)基礎(chǔ)設(shè)施更新緩慢所決定的。

關(guān)于HTTP2.0協(xié)議的具體內(nèi)容可以參考RFC 7540。

HTTP 應(yīng)用場景

HTTP誕生之初主要是應(yīng)用于WEB端內(nèi)容獲取,那時候內(nèi)容還不像現(xiàn)在這樣豐富,排版也沒那么精美,用戶交互的場景幾乎沒有。對于這種簡單的獲取網(wǎng)頁內(nèi)容的場景,HTTP表現(xiàn)得還算不錯。但隨著互聯(lián)網(wǎng)的發(fā)展和WEB2.0的誕生,更多的內(nèi)容開始被展示(更多的圖片文件),排版變得更精美(更多的CSS),更復(fù)雜的交互也被引入(更多的jS)。用戶打開一個網(wǎng)站首頁所加載的數(shù)據(jù)總量和請求的個數(shù)也在不斷增加。

今天絕大部分的門戶網(wǎng)站首頁大小都會超過2M,請求數(shù)量可以多達100個。另一個廣泛的應(yīng)用是在移動互聯(lián)網(wǎng)的客戶端APP,不同性質(zhì)的APP對HTTP的使用差異很大。對于電商類APP,加載首頁的請求也可能多達10多個。對于微信這類IM,HTTP請求可能僅限于語音和圖片文件的下載,請求出現(xiàn)的頻率并不算高。

HTTP 工作原理

HTTP是基于客戶/服務(wù)器模式,且面向連接的。典型的HTTP事務(wù)處理有如下的過程:

(1)客戶與服務(wù)器建立連接;

(2)客戶向服務(wù)器提出請求;

(3)服務(wù)器接受請求,并根據(jù)請求返回相應(yīng)的文件作為應(yīng)答;

(4)客戶與服務(wù)器關(guān)閉連接。

客戶與服務(wù)器之間的HTTP連接是一種一次性連接,它限制每次連接只處理一個請求,當服務(wù)器返回本次請求的應(yīng)答后便立即關(guān)閉連接,下次請求再重新建立連接。這種一次性連接主要考慮到WWW服務(wù)器面向的是Internet中成干上萬個用戶,且只能提供有限個連接,故服務(wù)器不會讓一個連接處于等待狀態(tài),及時地釋放連接可以大大提高服務(wù)器的執(zhí)行效率。

HTTP是一種無狀態(tài)協(xié)議,即服務(wù)器不保留與客戶交易時的任何狀態(tài)。這就大大減輕了服務(wù)器記憶負擔,從而保持較快的響應(yīng)速度。HTTP是一種面向?qū)ο蟮膮f(xié)議。允許傳送任意類型的數(shù)據(jù)對象。它通過數(shù)據(jù)類型和長度來標識所傳送的數(shù)據(jù)內(nèi)容和大小,并允許對數(shù)據(jù)進行壓縮傳送。當用戶在一個HTML文檔中定義了一個超文本鏈后,瀏覽器將通過TCPl/P協(xié)議與指定的服務(wù)器建立連接。

從技術(shù)上講是客戶在一個特定的TCP端口(端口號一般為80)上打開一個套接字。如果服務(wù)器一直在這個周知的端口上傾聽連接,則該連接便會建立起來。然后客戶通過該連接發(fā)送一個包含請求方法的請求塊。

HTTP規(guī)范定義了7種請求方法,每種請求方法規(guī)定了客戶和服務(wù)器之間不同的信息交換方式,常用的請求方法是GET和POST。服務(wù)器將根據(jù)客戶請求完成相應(yīng)操作,并以應(yīng)答塊形式返回給客戶,最后關(guān)閉連接。

返回頂部
主站蜘蛛池模板: 无码专区aaaaaa免费视频 | 日日噜噜噜夜夜爽爽狠狠 | 丁香婷婷久久 | 亚洲国产系列 | 亚洲欧美色一区二区三区 | 免费视频久久看 | 欧美大片欧美毛片大片 | 综合久久 五十路 二区 | 国产在线视频91 | 91麻豆国产极品在线观看洋子 | 亚洲国产精品久久久久秋霞66 | 国产毛片a级 | 日韩 国产 在线 | 麻豆a| www.香蕉视频| 成人欧美一区二区三区小说 | 欧美日韩一区二区三区视视频 | 久久免费精品视频 | 午夜国产福利视频一区 | 欧美成人精品一区二三区在线观看 | 国产精选91热在线观看 | 高清一级做a爱过程免费视频 | 国产网红主播chinese | 婷婷久久五月天 | chinese国产一区二区 | 国产精品久久久久久久久鸭 | 日韩欧美一二三区 | 特级淫片国产免费高清视频 | 免费高清特级毛片 | 在线观看欧美国产 | 日韩日韩日韩日韩 | 久久久精品国产免费观看同学 | 九九九好热在线 | 欧美自拍色图 | 欧美日韩亚洲m码色帝国 | 亚洲国产第一区 | 免费黄色欧美 | 在线观看日韩精品 | 51精品视频免费国产专区 | 亚洲欧美日本综合一区二区三区 | 她也啪97在线视频 |