HTTP、TCP、UDP、Socket (转)
先來一個講TCP、UDP和HTTP關系的
1、TCP/IP是個協議組,可分為三個層次:網絡層、傳輸層和應用層。
在網絡層有IP協議、ICMP協議、ARP協議、RARP協議和BOOTP協議。
在傳輸層中有TCP協議與UDP協議。
在應用層有FTP、HTTP、TELNET、SMTP、DNS等協議。
因此,HTTP本身就是一個協議,是從Web服務器傳輸超文本到本地瀏覽器的傳送協議。
?
2、HTTP協議是建立在請求/響應模型上的。首先由客戶建立一條與服務器的TCP鏈接,并發送一個請求到服務器,請求中包含請求方法、URI、協議版本以及相關的MIME樣式的消息。服務器響應一個狀態行,包含消息的協議版本、一個成功和失敗碼以及相關的MIME式樣的消息。
HTTP/1.0為每一次HTTP的請求/響應建立一條新的TCP鏈接,因此一個包含HTML內容和圖片的頁面將需要建立多次的短期的TCP鏈接。一次TCP鏈接的建立將需要3次握手。
另外,為了獲得適當的傳輸速度,則需要TCP花費額外的回路鏈接時間(RTT)。每一次鏈接的建立需要這種經常性的開銷,而其并不帶有實際有用的數據,只是保證鏈接的可靠性,因此HTTP/1.1提出了可持續鏈接的實現方法。HTTP/1.1將只建立一次TCP的鏈接而重復地使用它傳輸一系列的請求/響應消息,因此減少了鏈接建立的次數和經常性的鏈接開銷。
?
3、結論:雖然HTTP本身是一個協議,但其最終還是基于TCP的。不過,目前,有人正在研究基于TCP+UDP混合的HTTP協議。
Socket是什么呢?
???????Socket是應用層與TCP/IP協議族通信的中間軟件抽象層,它是一組接口。在設計模式中,Socket其實就是一個門面模式,它把復雜的TCP/IP協議族隱藏在Socket接口后面,對用戶來說,一組簡單的接口就是全部,讓Socket去組織數據,以符合指定的協議。
原文地址:http://blog.csdn.net/xijiaohuangcao/archive/2010/12/29/6105623.aspx
轉載于:https://www.cnblogs.com/zjoch/archive/2012/08/17/2643624.html
總結
以上是生活随笔為你收集整理的HTTP、TCP、UDP、Socket (转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11个好用的黑科技资源搜索网站
- 下一篇: 【优秀作业】人工鱼群优化算法