http、https、tcp、ip、udp 協議的區別


一、http簡介

HTTP:超文本傳輸協議(HyperText Transfer Protocol)是一種無狀態協議,就是說客戶端發送一次請求,服務器端接收請求,經過處理返回給客戶端信息,然后客戶端和服務器端的鏈接就斷開了,為了維護他們之間的鏈接,讓服務器知道這是前一個用戶發送的請求,必須在一個地方保存客戶端的信息,有2中解決方案,一是在客戶端保存,二是在服務器端保存。

1:HTTP是短連接:客戶端發送請求都需要服務器端回送響應.請求結束后,主動釋放鏈接,因此為短連接。通常的做法是,不需要任何數據,也要保持每隔一段時間向服務器發送”保持連接”的請求。這樣可以保證客戶端在服務器端是”上線”狀態。

2:HTTP連接         

      使用的是”請求-響應”方式,不僅在請求時建立連接,而且客戶端向服務器端請求后,服務器才返回數據。

3:HTTP使用了面向連接的TCP作為傳輸層協議,保證了數據的可靠傳輸。

        HTTP協議是無連接的,通信的雙發在交換HTTP報文之前不需要先建立HTTP連接

        HTTP協議是無狀態的,服務器並不記得曾經訪問過的客戶,和訪問次數。這種特性簡化了服務器的設計和支持大量並發的HTTP請求

        HTTP在TCP的三次握手的前兩部分完成后,客戶端就把HTTP請求報文作為第三個報文的數據發送給服務器。

4:HTTP/1.0和HTTP/1.1

        HTTP/1.0:使用的非持續連接,這會使服務器的負擔很重。

        HTTP/1.1:使用了持續連接,有兩種工作方式,1:流水線方式---可以多請求多響應。2:非流水線方式--一次一個請求

5:HTTP報文

        HTTP報文--請求報文和響應報文,HTTP是面向文本的。都由三部分組成:開始行、首部行、實體主體。

        請求報文--請求行、首部行、實體主體

二、用戶數據報協議UDP

UDP:提供了不面向連接通信,適合一次傳輸小量數據,可靠性由應用層負責

UDP 是User Datagram Protocol的簡稱, 中文名是用戶數據報協議,是OSI(Open System Interconnection,開放式系統互聯) 參考模型中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務,IETF RFC 768是UDP的正式規范。UDP在IP報文的協議號是17。

1:UDP的優點
快,比TCP稍安全
UDP沒有TCP的握手、確認、窗口、重傳、擁塞控制等機制,UDP是一個無狀態的傳輸協議,所以它在傳遞數據時非常快。沒有TCP的這些機制,UDP較TCP被攻擊者利用的漏洞就要少一些。但UDP也是無法避免攻擊的,比如:UDP Flood攻擊……

2:UDP的缺點
不可靠,不穩定
因為UDP沒有TCP那些可靠的機制,在數據傳遞時,如果網絡質量不好,就會很容易丟包。

3:UDP應用場景

當對網絡通訊質量要求不高的時候,要求網絡通訊速度能盡量的快,這時就可以使用UDP。在日常生活中,常見使用UDP協議的應用比如:QQ語音、QQ視頻、TFTP等。

 

三、TCP協議


   TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基於字節流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指定的功能,用戶數據報協議(UDP)是同一層內另一個重要的傳輸協議。

在因特網協議族(Internet protocol suite)中,TCP層是位於IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。

1:TCP的優點

可靠,穩定
TCP的可靠體現在TCP在傳遞數據之前,會有三次握手來建立連接,而且在數據傳遞時,有確認、窗口、重傳、擁塞控制機制,在數據傳完后,還會斷開連接用來節約系統資源。

2:TCP的缺點

慢,效率低,占用系統資源高,易被攻擊
TCP在傳遞數據之前,要先建連接,這會消耗時間,而且在數據傳遞時,確認機制、重傳機制、擁塞控制機制等都會消耗大量的時間,而且要在每台設備上維護所有的傳輸連接,事實上,每個連接都會占用系統的CPU、內存等硬件資源。

由於TCP存在確認機制和三次握手機制,這些是導致TCP容易被人利用,實現DOS、DDOS、CC等攻擊。

3:TCP應用場景
當對網絡通訊質量有要求的時候,比如:整個數據要准確無誤的傳遞給對方,這往往用於一些要求可靠的應用,比如HTTP、HTTPS、FTP等傳輸文件的協議,POP、SMTP等郵件傳輸的協議。

在日常生活中,常見使用TCP協議的應用比如:瀏覽器使用HTTP,Outlook使用POP、SMTP,QQ文件傳輸等。

4:備注:

TCP/IP是個協議組,可分為三個層次:網絡層、傳輸層和應用層。

在網絡層有:IP協議、ICMP協議、ARP協議、RARP協議和BOOTP協議。

在傳輸層中有:TCP協議與UDP協議。

在應用層有:FTP、HTTP、TELNET、SMTP、DNS等協議。

因此,HTTP本身就是一個協議,是從Web服務器傳輸超文本到本地瀏覽器的傳送協議。

TCP和UDP是FTP,HTTP和SMTP之類使用的傳輸層協議。雖然TCP和UDP都是用來傳輸其他協議的,它們卻有一個顯著的不同:TCP提供有保證的數據傳輸,而UDP不提供。這意味着TCP有一個特殊的機制來確保數據安全的不出錯的從一個端點傳到另一個端點,而UDP不提供任何這樣的保證。

傳輸層協議:TCP協議和UDP協議
    TCP建立連接/三次握手

四次揮手

 

 

四、IP


    網絡之間互連的協議(IP)是 Internet Protocol 的外語縮寫,IP 是在 TCP/IP 協議中網絡層的主要協議,任務是僅僅根據源主機和目的主機的地址傳送數據。為此目的,IP 定義了尋址方法和數據報的封裝結構。第一個架構的主要版本,現在稱為 IPv4,仍然是最主要的互聯網協議,盡管世界各地正在積極部署 IPv6。

IP 協議的作用是把各種數據包傳送給對方。而要保證確實傳送到對方那里,則需要滿足各類條件。其中兩個重要的條件是 IP 地址和 MAC地址(Media Access Control Address)。

IP 地址指明了節點被分配到的地址,MAC 地址是指網卡所屬的固定地址。IP 地址可以和 MAC 地址進行配對。IP 地址可變換,但 MAC地址基本上不會更改。

五、Https

HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL

1:Https的作用

    內容加密建立一個信息安全通道,來保證數據傳輸的安全;
   身份認證確認網站的真實性
   數據完整性防止內容被第三方冒充或者篡改:

 2:Https的劣勢

   對數據進行加解密決定了它比http慢

  需要進行非對稱的加解密,且需要三次握手。首次連接比較慢點,當然現在也有很多的優化。

  出於安全考慮,瀏覽器不會在本地保存HTTPS緩存。實際上,只要在HTTP頭中使用特定命令,HTTPS是可以緩存的。Firefox默認只在內存中緩存HTTPS。但是,只要頭命令中有Cache-Control: Public,緩存就會被寫到硬盤上。 IE只要http頭允許就可以緩存        https內容,緩存策略與是否使用HTTPS協議無關。

3:HTTPS和HTTP的區別

https協議需要到CA申請證書。

http是超文本傳輸協議,信息是明文傳輸;https 則是具有安全性的ssl加密傳輸協議。

http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

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

http默認使用80端口,https默認使用443端口

下面就是https的整個架構,現在的https基本都使用TLS了,因為更加安全,所以下圖中的SSL應該換為SSL/TLS

 

 


 

 


 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM