1. 程式人生 > >HTTP協議和socket協議的差別及使用

HTTP協議和socket協議的差別及使用

 Tcp連線:
手機能夠使用聯網功能是因為手機底層實現了TCP/IP協議,可以使手機通過無線網路建立TCP連線。
建立一個TCP連線需要經過“三次握手”,具體如下:
第一次握手:客戶端傳送請求包到伺服器,等待伺服器確認
第二次握手:伺服器響應客戶端請求,同時也傳送一個迴應包給客戶端
第三次握手:客戶端收到伺服器的迴應包後,向伺服器傳送確認包

握手過程中傳送的包裡,不包含資料,三次握手完畢後,客戶端與服務端才正式的開始傳遞資料。
TCP一旦連線起來,在客戶端和服務端任何一方主動關閉連線之前,TCP連線都將被一直保持下去。
斷開連線時,伺服器和客戶端都可以主動發起斷開TCP連線的請求,斷開過程需要經過“四次握手”

Http連線:
Http協議是建立在TCP協議之上的一種應用。它與TCP連線不同之處在於,客戶端每次請求都需要伺服器
返回響應,在請求結束後,會主動釋放連線。由於HTTP每次請求都會釋放連線,因為HTTP連線是一種“短連線”,所
以要保持客戶端線上狀態,就必須不停地向伺服器發起連線請求。所以在開發過程中,即使不需要獲得任何資料,
客戶端也要保持每隔一段時間向伺服器傳送一次請求,以保證通訊的正常。


Socket連線:
Socket是通訊的基石,是支援TCP/IP協議的網路通訊的基本操作單元。
建立Socket連線需要一對套接字,其中一個執行客戶端,另一個執行伺服器端,套接字之間的連線過程分為
三個步驟:伺服器監聽,客戶端請求,連線確認。

HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。它是一個URI scheme(抽象識別符號體系),句法類同http:體系。用於安全的HTTP資料傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同於HTTP的預設埠及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣泛用於全球資訊網上安全敏感的通訊,例如交易支付方面。

HTTPS和HTTP的區別

  一、https協議需要到ca申請證書,一般免費證書很少,需要交費。

  二、http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。

  三、http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

  四、http的連線很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

SSL協議:SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。