TTP/HTTPS、TCP/IP 协议、RPC、Socket 通信机制

1. TTP/HTTPS

TTP (HTTP) 和 HTTPS(Hypertext Transfer Protocol Secure)是基于 TCP/IP 协议的应用层协议,主要用于客户端和服务器之间的数据传输。

  • HTTP(超文本传输协议):这是用于 web 页面和服务器之间通信的标准协议。它是无状态的、无连接的协议,数据是以纯文本形式传输的。
  • HTTPS (超文本传输安全协议):它是 HTTP 协议的安全版本,通过 SSL/TLS
    协议提供加密通信,确保数据传输的机密性、完整性和认证性。
  • HTTPS 在 HTTP 的基础上通过安全的加密协议来防止中间人攻击和数据泄露。

2. TCP/IP 协议

TCP/IP(传输控制协议/网际协议)是一组用于计算机网络中数据传输的协议,它是现代互联网的基础。TCP/IP 主要包含两个协议:TCP 和 IP。

  • TCP(Transmission Control Protocol,传输控制协议):TCP 是一种面向连接的协议,提供可靠的数据传输。它通过三次握手建立连接,确保数据包按照顺序到达并且没有丢失。它会自动进行重传、流量控制等操作来保证数据的完整性和顺序。
  • IP (Internet Protocol,网际协议):IP 是负责将数据包从源主机传输到目标主机的协议。它是无连接的协议,只负责根据 IP 地址进行数据包的路由和转发。IP
    协议没有任何的错误检测或恢复机制。

TCP/IP 协议栈通常包括以下层级:

  • 应用层:如 HTTP, FTP, DNS, SMTP。
  • 传输层:如 TCP, UDP。
  • 网络层:如 IP。
  • 数据链路层:如 Ethernet, Wi-Fi。

3. RPC(远程过程调用)

RPC (Remote Procedure Call,远程过程调用)是一种使得程序能够在不同计算机之间调用远程服务器上的服务的机制。它使得开发人员可以像调用本地函数一样调用远程服务器上的函数。RPC 是应用层协议,底层使用 TCP/IP 等网络协议进行通信。

  • 过程:调用本地函数时,程序通过网络发送请求到远程计算机,远程计算机会接收请求并执行相应的函数,然后将结果返回给调用者。这个过程对开发者来说是透明的,开发者无需关心底层的通信细节。
  • 常见 RPC 框架:
    • gRPC:由 Google 开发的高性能远程过程调用(RPC)框架,基于 HTTP/2 协议。
    • JSON-RPC 和 XML-RPC:轻量级的 RPC 协议,支持通过 HTTP 传输,分别使用 JSON 和 XML 格式传输数据。

4. Socket 通信机制

Socket 是计算机网络中一种常用的通信机制,它提供了应用程序之间进行网络通信的接口。通过 Socket,程序可以进行数据的收发,并且实现基于 TCP/IP 或 UDP 的通信。
Socket 的基本原理:

  • 客户端和服务器端通信:客户端通过创建一个 Socket 与服务器建立连接。服务器端通常会监听特定的端口,等待客户端的连接请求。
  • 创建 Socket:客户端和服务器都需要创建自己的 Socket。客户端通过指定服务器的 IP
    地址和端口号来连接服务器,而服务器端则监听来自客户端的请求。
  • 数据传输:连接建立后,客户端和服务器就可以通过 Socket 发送和接收数据。TCP Socket 是面向连接的,保证数据的可靠传输;而
    UDP Socket 是无连接的,适用于实时通信等场景。
  • 关闭连接:数据传输结束后,连接双方会关闭各自的 Socket,释放资源。
    Socket 通信的类型:
  • TCP Socket:基于 TCP 协议的可靠连接,数据保证按顺序传输且不丢失。
  • UDP Socket:基于 UDP 协议,无连接、无状态的通信方式,适用于实时性要求高但能容忍数据丢失的场景。

总结:

  • TTP/HTTPS:用于 Web 应用的通信协议,其中 HTTPS 提供安全加密。
  • TCP/IP 协议:用于数据传输的网络协议栈,包含 TCP(可靠传输)和 IP(路由转发)协议。
  • RPC:通过远程过程调用实现分布式系统之间的通信。
  • Socket:提供进程间通信机制,支持基于 TCP 或 UDP 的通信。
相关推荐
玩转4G物联网7 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p
上海云盾第一敬业销售12 小时前
高防IP可以防护什么攻击类型?企业网络安全的第一道防线
网络·tcp/ip·web安全
心扬14 小时前
python网络编程
开发语言·网络·python·tcp/ip
程序员祥云14 小时前
https相比http的区别
网络协议·http·https
情系淮思15 小时前
客户端和服务器已成功建立 TCP 连接【输出解析】
服务器·网络·tcp/ip
熙客15 小时前
应用层协议:HTTPS
网络协议·https
2501_9151063217 小时前
Flutter、React Native 项目如何搞定 iOS 上架?从构建 IPA 到上传 App Store 的实战流程全解析
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2301_7930698220 小时前
Azure 虚拟机端口资源:专用 IP 和公共 IP Azure Machine Learning 计算实例BUG
tcp/ip·flask·azure
还有几根头发呀21 小时前
UDP 与 TCP 调用接口的差异:面试高频问题解析与实战总结
网络·网络协议·tcp/ip·面试·udp
秋水丶秋水1 天前
SSL安全证书怎么安装?
网络协议·http·https