带您了解HTTP、HTTPS、TCP、UDP、Websocket 概念、通信流程、异同点、应用领域(一)

HTTP

HTTP全称:Hypertext Transfer Protocol(超文本传输协议)

🍊HTTP是一种用于通过 Internet 传输数据(通常是网页)的协议。

🍊HTTP运行在应用层,使用IP协议在网络上传输数据。客户端(例如网络浏览器)向服务器(例如网络服务器)发送对特定资源(例如网页)的请求,并且服务器发回包含所请求资源的响应,如果该资源无法找到,则会响应错误消息。

🍊HTTP 是一种无状态协议,这意味着服务器不会保留有关同一客户端先前请求的任何信息。来自客户端的每个请求都被视为单独且独立的请求,并且服务器使用单独的响应来响应每个请求。

🍊HTTP 广泛用于通过 Internet 传输数据,Web 浏览器使用它从 Web 服务器请求网页,Web 服务器将请求的网页发送回 Web 浏览器。

HTTPS

HTTPS全称:Hypertext Transfer Protocol Secure(安全超文本传输协议)

🍊HTTPS是 HTTP 的扩展,它添加了加密以保护传输数据的隐私和安全。HTTPS 广泛用于网络上的安全交易,例如登录在线银行帐户或进行在线购买。

🍊当客户端通过 HTTPS 连接到服务器时,客户端和服务器使用 SSL/TLS 加密建立安全会话。这种加密保护正在传输的数据不被第三方参与者拦截或修改。

🍊在 HTTPS 中,客户端和服务器首先进行“握手”以建立安全会话。在握手过程中,客户端和服务器商定加密方法并生成一个共享密钥,该密钥将用于加密它们之间传输的所有后续数据。握手后,客户端和服务器可以通过安全会话传输数据,所有数据都使用共享密钥加密和解密。

🍊HTTPS 请求和响应类似于 HTTP 请求和响应,但增加了加密。该请求包含一个方法(例如 GET、POST)、一个指定资源位置的 URI(统一资源标识符),以及可能包含敏感信息的标头和请求主体。响应包含状态代码(例如 200 OK、404 Not Found)、提供有关资源和响应信息的标头以及包含所请求资源或错误消息的响应主体。

🍊HTTP 和 HTTPS 之间的主要区别之一是 HTTP 不安全,所有通过 HTTP 传输的数据都可以很容易地被拦截和读取,而 HTTPS 为传输的数据提供加密和安全性。这就是为什么 HTTPS 通常用于 Web 上的安全交易。

TCP

TCP全称:Transmission Control Protocol(传输控制协议)

🍊TCP是一种传输层协议,用于确保通过 Internet 可靠有序地传输数据。它是互联网协议 (IP) 套件中使用的主要协议之一。

🍊TCP 通过在两个设备(例如客户端和服务器)之间建立虚拟连接来提供可靠的数据传输。当客户端要向服务器发送数据时,它会与服务器建立 TCP 连接并开始传输数据。服务器接收数据并确认收到数据。如果客户端没有收到确认,它会重新传输数据,直到收到来自服务器的确认。

🍊TCP 还提供流量控制,确保客户端传输数据的速度不会超过服务器接收数据的速度。它还提供拥塞控制,减少网络拥塞时传输的数据量,防止网络拥塞影响其他用户的服务质量。

🍊TCP 将数据分割成更小的数据包,称为“段”,并通过网络分别传输每个段。这些段在接收端重新组合成原始数据。此过程可确保数据以与传输时相同的顺序到达接收端,即使数据段采用不同的网络路径也是如此。

🍊TCP是面向连接的协议,这意味着在传输数据之前,必须在两个设备之间建立虚拟连接。此连接一直保持到数据传输完成,数据传输完毕后连接终止。

🍊TCP 广泛用于需要可靠数据传输的应用程序,例如电子邮件、文件传输和 Web 浏览。许多其他协议也使用它,例如 HTTP 和 FTP,它们依赖 TCP 提供可靠的数据传输。

UDP

UDP全称:Transmission Control Protocol(用户数据报协议)

🍊UDP是一种传输层协议,用于在 Internet 上传输数据。它是互联网协议 (IP) 套件中使用的主要协议之一。

🍊与 TCP 不同,UDP 是一种无连接协议,这意味着在传输和接收数据的设备之间没有建立虚拟连接。相反,每个 UDP 数据报都是单独和独立发送的,没有任何交付或排序保证。

🍊UDP 用于不需要可靠数据传递但需要快速高效数据传输的应用程序。例如,UDP 通常用于流式视频和音频、在线游戏和 IP 语音 (VoIP) 应用程序。

🍊在 UDP 中,要传输的数据被分成更小的数据包,称为“数据报”。每个数据报都是单独和独立传输的,没有任何交付或排序保证。接收设备负责将数据报重新组装成原始数据。

🍊与 TCP 相比,UDP 提供更快、更高效的数据传输,因为没有用于建立和维护虚拟连接的开销,也没有用于错误检查和重新传输丢失或损坏数据的开销。

🍊但是,由于缺乏可靠的数据传递,UDP 可能更适合于容忍某些数据丢失的应用程序,例如视频和音频流,而不是需要可靠数据传递的应用程序,例如文件传输和电子邮件。

WebSocket

🍊WebSocket 是一种通信协议,用于通过 Internet 在客户端和服务器之间进行实时双向通信。它支持全双工通信,允许客户端和服务器同时发送和接收数据。

🍊WebSockets 被设计为在与 HTTP(端口 80)和 HTTPS(端口 443)相同的端口上工作,并且使用与 HTTP 和 HTTPS 相同的底层传输层,即传输控制协议 (TCP)。

🍊WebSockets 与传统 HTTP 通信的主要区别在于,HTTP 是一种请求-响应协议,客户端发送请求,服务器发送响应,而 WebSockets 允许客户端和服务器之间进行连续的双向通信。这意味着服务器无需客户端请求就可以向客户端推送数据,客户端无需等待响应即可向服务器发送数据。

🍊WebSockets 广泛用于在线游戏、聊天系统和股市数据更新等实时应用程序,其中低延迟和实时数据更新很重要。它们还用于需要实时通信的基于 Web 的应用程序,例如在线协作工具和交互式仪表板。

🍊WebSockets 为 Internet 上的实时应用程序提供了一种快速、高效和低延迟的通信解决方案。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值