欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Java網絡編程從入門到精通(20):HTTP協議簡介

系統 1859 0
本文為原創,如需轉載,請注明作者和出處,謝謝!
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="ProgId" content="Word.Document"> <meta name="Generator" content="Microsoft Word 11"> <meta name="Originator" content="Microsoft Word 11"> <link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> <!--[if gte mso 9]><xml> Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><![endif]--><!--[if !mso]> <style> st1":*{behavior:url(#ieooui) } </style> <![endif]--><style> <!-- /* Font Definitions */ &#64;font-face {font-family:宋體; panose-1:2 1 6 0 3 1 1 1 1 1;} &#64;font-face {font-family:""&#64;宋體"; panose-1:2 1 6 0 3 1 1 1 1 1;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; font-size:10.5pt; font-family:"Times New Roman";} /* Page Definitions */ &#64;page {} &#64;page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt;} div.Section1 {page:Section1;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable { mso-style-parent:""; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} </style> <![endif]-->


上一篇: Java網絡編程從入門到精通(19):套接字(Socket)的異常

一、
什么是HTTP協議

HTTP 協議是一種應用層協議,HTTP是HyperText Transfer Protocol(超文本傳輸協議)的英文縮寫。HTTP可以通過傳輸層的TCP協議在客戶端和服務器之間傳輸數據。HTTP協議主要用于Web瀏覽器和Web服務器之間的數據交換。我們在使用IE或Firefox瀏覽網頁或下載Web資源時,通過在地址欄中輸入http://host:port/path,開頭的4個字母http就相當于通知瀏覽器使用HTTP協議來和host所確定的服務器進行通訊。

HTTP 協議誕生于上世紀90年代初;第一個被廣泛使用的版本是HTTP0.9。這個最初的版本非常簡陋,它只向服務器發送一個非常簡單的請求,而服務器也會返回一個很簡單的響應以及相應的HTML文本。在隨后的HTTP1.0中,增加了很多在HTTP0.9中沒有的特性,如增加了資源重定位,大量的狀態響應碼等。在最新的HTTP1.1中,對HTTP1.0做了更進一步的改進,除了增加了一些請求方法外,最大的改進就是可以使HTTP保持連接狀態。這對于一些頻繁傳輸數據的應用是非常有益的。由于HTTP協議已經達到了它的目標,因此,負責制定規范的W3C已經停止了對HTTP的改進(和HTTP相關的協議或擴展并未停止),所以,HTTP1.1將是HTTP協議的最后一個版本。

無論你是從事網絡程序開發,還是Web開發,或是網站的維護人員;都必須對HTTP協議有一個比較深入的了解。因此,HTTP協議不僅是Internet上應用最為廣泛的協議,也是應用協議家族中比較簡單的一種入門級協議;而且所有的Web服務器無一例外地都支持HTTP協議。這也充分地說明,對于那些開發網絡程序,尤其是開發各種類型的Web服務器的開發人員,透徹地掌握HTTP協議將對你所開發的基于HTTP協議的系統產生直接的影響。

由于本文的目的并不是講解HTTP協議,因此,只討論了HTTP協議的主要部分,如果讀者對HTTP協議感性趣,并想深入了解HTTP協議,請查看RFC2616或通過www.w3c.org來了解HTTP協議的詳情。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"><!--[if gte mso 9]><xml> Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><![endif]--><!--[if !mso]> <style> st1":*{behavior:url(#ieooui) } </style> <![endif]--><style> <!-- /* Font Definitions */ &#64;font-face {font-family:宋體; panose-1:2 1 6 0 3 1 1 1 1 1;} &#64;font-face {font-family:""&#64;宋體"; panose-1:2 1 6 0 3 1 1 1 1 1;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; font-size:10.5pt; font-family:"Times New Roman";} /* Page Definitions */ &#64;page {} &#64;page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt;} div.Section1 {page:Section1;} --> </style><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable { mso-style-parent:""; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} </style> <![endif]-->
二、HTTP 的工作方式

HTTP 協議采用了請求/響應的工作方式。基于HTTP1.0協議的客戶端在每次向服務器發出請求后,服務器就會向客戶端返回響應消息(包括請求是否正確以及所請求的數據),在確認客戶端已經收到響應消息后,服務端就會關閉網絡連接(其實是關閉TCP連接)。在這個數據傳輸過程中,并不保存任何歷史信息和狀態信息,因此,HTTP協議也被認為是無狀態的協議,圖1描繪了HTTP1.0協議的通訊過程。

圖1 HTTP1.0協議的通訊過程

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"><!--[if gte mso 9]><xml> Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><![endif]--><style> <!-- /* Font Definitions */ &#64;font-face {font-family:宋體; panose-1:2 1 6 0 3 1 1 1 1 1;} &#64;font-face {font-family:""&#64;宋體"; panose-1:2 1 6 0 3 1 1 1 1 1;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; font-size:10.5pt; font-family:"Times New Roman";} /* Page Definitions */ &#64;page {} &#64;page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt;} div.Section1 {page:Section1;} --> </style><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable { mso-style-parent:""; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} </style> <![endif]-->

HTTP1.0 協議中,當 Web 瀏覽器發出請求時,就意味著一個請求 / 響應會話已經開始。在請求、響應結束后,服務器就會立刻關閉這個連接。這種會話方式雖然簡便,但它會帶來另外一個問題。如果客戶端瀏覽器訪問的某個 HTML 或其他類型的 Web 頁中包含有其他的 Web 資源,如 JavaScript 文件、圖像文件、 CSS 文件等;當瀏覽器每遇到這樣一個 Web 資源,就會建立一個 HTTP 會話。如果這樣的資源很多的話,就會加重服務器的負擔,同時也會影響客戶端瀏覽器加載 HTML Web 資源的效率。

在對上述的缺陷進行改進和完善后,HTTP1.1協議進入了我們的視線。HTTP1.1和HTTP1.0相比較而言,最大的區別就是增加了持久連接支持。當客戶端使用HTTP1.1協議連接到服務器后,服務器就將關閉客戶端連接的主動權交還給客戶端;也就是說,在客戶端向服務器發送一個請求并接收以一個響應后,只要不調用Socket類的close方法關閉網絡連接,就可以繼續向服務器發送HTTP請求。當HTML中含有其他的Web資源時,瀏覽器就可以使用同一個網絡連接向下載這些資源,這樣就可以大大減輕服務器的壓力。圖2演示了這一過程。

圖2 HTTP1.1協議的通訊過程

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="ProgId" content="Word.Document"> <meta name="Generator" content="Microsoft Word 11"> <meta name="Originator" content="Microsoft Word 11"> <link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> <!--[if gte mso 9]><xml> Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 </xml><![endif]--><!--[if gte mso 9]><![endif]--><style> <!-- /* Font Definitions */ &#64;font-face {font-family:宋體; panose-1:2 1 6 0 3 1 1 1 1 1;} &#64;font-face {font-family:""&#64;宋體"; panose-1:2 1 6 0 3 1 1 1 1 1;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; font-size:10.5pt; font-family:"Times New Roman";} /* Page Definitions */ &#64;page {} &#64;page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt;} div.Section1 {page:Section1;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable { mso-style-parent:""; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} </style> <![endif]-->

HTTP1.1 除了支持持久連接外,還將HTTP1.0的請求方法從原來的三個(GET、POST和HEAD)擴展到了八個(OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT)。而且還增加了很多請求和響應字段,如上述的持久連接的字段Connection。這個字段有兩個值,Close和Keep-Alive。如果使用Connection:Close,則關閉HTTP1.1的持久連接的功能,要打開HTTP1.1的持久連接的功能,必須使用Connection:Keep-Alive,或者不加Connection字段(因為HTTP1.1在默認情況下就是持久連接的)。除了這些,還提供了身份認證、狀態管理和緩存(Cache)等相關的請求頭和響應頭。

下一篇:
Java網絡編程從入門到精通(21):HTTP消息的格式



國內最棒的Google Android技術社區(eoeandroid),歡迎訪問!

《銀河系列原創教程》 發布

《Java Web開發速學寶典》 出版,歡迎定購

Java網絡編程從入門到精通(20):HTTP協議簡介


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色秀视频免费网站在线观看 | 一区二区三区毛片 | 亚洲国产天堂久久综合9999 | 日本在线视频www鲁啊鲁 | 国产精品福利短视在线播放频 | 亚洲免费精品视频 | 91短视频app下载安装无限看丝瓜山东座 | 91精品啪在线观看国产91九色 | 在线观看日韩中文字幕 | 午夜精品久久久久久久99黑人 | 五月天婷婷缴情五月免费观看 | 欧美色无极| 成人午夜大片免费看爽爽爽 | 免费九九视频 | 亚洲成人综合视频 | jizz国产精品免费麻豆 | 天天做天天欢天天爽 | 久草精品视频 | 日本三级一区二区 | 九九热精品在线视频 | 91看片在线| 欧美日韩在线影院 | 亚洲日韩欧洲无码av夜夜摸 | 亚洲免费资源 | 欧美激情视频一区二区三区在线播放 | 九九热免费观看 | 欧美一级片免费看 | 国产精品久久久久久中文字 | 麻豆自拍偷拍 | 成人在线免费av | 亚洲一区二区视频在线观看 | 精品在线视频一区 | 三级黄色片在线观看 | 小明免费视频一区二区 | 国产一区二区三区高清 | 成人黄色在线 | 五月天激情综合网 | 日韩精品一区二区在线播放 | 婷婷色爱区综合五月激情韩国 | 色www精品视频在线观看 | 日本在线观看免费视频 |