Http、Https、TCP、UDP之间的区别和联系(非原创)

今日头条【Http、Https、TCP、UDP之间的区别和联系,看这一篇就够了 - 今日头条】

https://m.toutiaocdn.cn/group/6648873758100554253/?iid=60233771264

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

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

一、先有个基础的认知

OSI七层模型

HTTP和HTTPS是应用层协议,该层协议负责主机间数据传输;

TCP和UDP是传输层协议,该层协议负责网络连接。

二、HTTP和HTTPS

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

HTTP是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTP vs HTTPS的工作原理

HTTP vs HTTPS

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

客户端使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

Web服务器利用自己的私钥解密出会话密钥。

Web服务器利用会话密钥加密与客户端之间的通信。

三、TCP和UDP

TCP 是面向连接的,并且是一种可靠的协议,在基于 TCP 进行通信时,通信双方需要先建立一个 TCP 连接,建立连接需要经过三次握手,握手成功才可以进行通信,而断开连接要进行4次。

UDP 是一种面向无连接,且不可靠的协议,在通信过程中,只要(目的地址,端口号,源地址,端口号)确定了,就可以直接发送信息报文,并且不需要确保服务端一定能收到或收到完整的数据。

适用场景

TCP 协议由于可靠性高,多用于文件传输、重要状态的更新等;

UDP 协议则多用于实时性要求高的 视频传输、实时通信等。

四、应用场景:TCP+HTTPS

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

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

网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。

传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。

应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。

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

你可能感兴趣的:(Http、Https、TCP、UDP之间的区别和联系(非原创))