IP:網絡層協議;算法
TCP和UDP:傳輸層協議;瀏覽器
HTTP:應用層協議;安全
SOCKET:TCP/IP網絡的API。服務器
TCP/IP表明傳輸控制協議/網際協議,指的是一系列協議。 TCP和UDP使用IP協議從一個網絡傳送數據包到另外一個網絡。把IP想像成一種高速公路,它容許其它協議在上面行駛並找到到其它電腦的出口。TCP和UDP是高速公路上的「卡車」,它們攜帶的貨物就是像HTTP,文件傳輸協議FTP這樣的協議等。 TCP和UDP是FTP,HTTP和SMTP之類使用的傳輸層協議。雖然TCP和UDP都是用來傳輸其餘協議的,它們卻有一個顯著的不一樣:TCP提供有保證的數據傳輸,而UDP不提供。這意味着TCP有一個特殊的機制來確保數據安全的不出錯的從一個端點傳到另外一個端點,而UDP不提供任何這樣的保證。 HTTP(超文本傳輸協議)是利用TCP在兩臺電腦(一般是Web服務器和客戶端)之間傳輸信息的協議。客戶端使用Web瀏覽器發起HTTP請求給Web服務器,Web服務器發送被請求的信息給客戶端。 記住,須要IP協議來鏈接網絡;TCP是一種容許咱們安全傳輸數據的機制,,使用TCP協議來傳輸數據的HTTP是Web服務器和客戶端使用的特殊協議。 Socket 接口是TCP/IP網絡的API,Socket接口定義了許多函數或例程,用以開發TCP/IP網絡上的應用程序。
TCP(Transmission Control Protocol,傳輸控制協議)是面向鏈接的協議,也就是說,在收發數據前,必須和對方創建可靠的鏈接。一個TCP鏈接必需要通過三次「對話」才能創建起來,其中的過程很是複雜,只簡單的描述下這三次對話的簡單過程:主機A向主機B發出鏈接請求數據包:「我想給你發數據,能夠嗎?」,這是第一次對話;主機B向主機A發送贊成鏈接和要求同步(同步就是兩臺主機一個在發送,一個在接收,協調工做)的數據包:「能夠,你何時發?」,這是第二次對話;主機A再發出一個數據包確認主機B的要求同步:「我如今就發,你接着吧!」,這是第三次對話。三次「對話」的目的是使數據包的發送和接收同步,通過三次「對話」以後,主機A才向主機B正式發送數據。網絡
UDP(User Data Protocol,用戶數據報協議)
(1) UDP是一個非鏈接的協議,傳輸數據以前源端和終端不創建鏈接,當它想傳送時就簡單地去抓取來自應用程序的數據,並儘量快地把它扔到網絡上。在發送端,UDP傳送數據的速度僅僅是受應用程序生成數據的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP把每一個消息段放在隊列中,應用程序每次從隊列中讀一個消息段。
(2) 因爲傳輸數據不創建鏈接,所以也就不須要維護鏈接狀態,包括收發狀態等,所以一臺服務機可同時向多個客戶機傳輸相同的消息。
(3) UDP信息包的標題很短,只有8個字節,相對於TCP的20個字節信息包的額外開銷很小。
(4) 吞吐量不受擁擠控制算法的調節,只受應用軟件生成數據的速率、傳輸帶寬、源端和終端主機性能的限制。
(5)UDP使用盡最大努力交付,即不保證可靠交付,所以主機不須要維持複雜的連接狀態表(這裏面有許多參數)。
(6)UDP是面向報文的。發送方的UDP對應用程序交下來的報文,在添加首部後就向下交付給IP層。既不拆分,也不合並,而是保留這些報文的邊界,所以,應用程序須要選擇合適的報文大小。
咱們常用「ping」命令來測試兩臺主機之間TCP/IP通訊是否正常,其實「ping」命令的原理就是向對方主機發送UDP數據包,而後對方主機確認收到數據包,若是數據包是否到達的消息及時反饋回來,那麼網絡就是通的。函數
HTTPS是一個安全通訊通道,它基於HTTP開發,用於在客戶計算機和服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單來講它是HTTP的安全版。它是由Netscape開發並內置於其瀏覽器中,用於對數據進行壓縮和解壓操做,並返回網絡上傳送回的結果。HTTPS實際上應用了Netscape的安全套接字層(SSL)做爲HTTP應用層的子層。性能
區別:
第一:HTTPS協議須要到CA申請證書,通常免費證書不多,須要交費。
第二:HTTP是超文本傳輸協議,信息是明文傳輸,HTTPS則是具備安全性的SSL加密傳輸協議。
第三:HTTP和HTTPS使用的是徹底不一樣的鏈接方式用的端口也不同,前者是80,後者是443。測試