Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了

你是否感觉 Http、Https、TCP、UDP这些协议很耳熟,经常听到但不知道是怎么回事;或是很了解,但让你解释又容易解释不清?

一起来看看他们之间的区别和联系吧~

一、先有个基础的认知

Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了

OSI七层模型

  • HTTP和HTTPS是应用层协议,该层协议负责主机间数据传输;
  • TCP和UDP是传输层协议,该层协议负责网络连接。

二、HTTP和HTTPS

Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了

HTTPS = HTTP + SSL/TSL(安全层)

  • HTTP是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。
  • HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTP vs HTTPS的工作原理

Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了

HTTP vs HTTPS

客户端使用HTTPS与服务器通信的步骤:

  1. 客户端使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
  2. Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
  3. 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  4. 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
  5. Web服务器利用自己的私钥解密出会话密钥。
  6. Web服务器利用会话密钥加密与客户端之间的通信。

三、TCP和UDP

  • TCP 是面向连接的,并且是一种可靠的协议,在基于 TCP 进行通信时,通信双方需要先建立一个 TCP 连接,建立连接需要经过三次握手,握手成功才可以进行通信,而断开连接要进行4次。
  • UDP 是一种面向无连接,且不可靠的协议,在通信过程中,只要(目的地址,端口号,源地址,端口号)确定了,就可以直接发送信息报文,并且不需要确保服务端一定能收到或收到完整的数据。
Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了

适用场景

  • TCP 协议由于可靠性高,多用于文件传输、重要状态的更新等;
  • UDP 协议则多用于实时性要求高的 视频传输、实时通信等。

四、应用场景:TCP+HTTPS

上文的OSI七层模型是理论模型,现实中使用的模型是TCP/IP五层模型,重点来看这三层:网络层、传输层、应用层。

Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了

先看一下维基百科对这三层网络的定义(比较通俗易懂):

  1. 网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。
  2. 传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。
  3. 应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。

案例:终端访问 https://www.baidu.com 这三层是如何起作用的?

Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了

访问步骤

Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了


分享到:


相關文章: