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 的通信。
相关推荐
程序员编程指南14 小时前
Qt 远程过程调用(RPC)实现方案
c语言·c++·qt·rpc·系统架构
许愿OvO14 小时前
IP--MGER综合实验报告
网络·tcp/ip·智能路由器
小刘|15 小时前
Https以及CA证书
网络·网络协议·https
筑梦之月16 小时前
如何查看电脑后门IP和流量?
网络协议·tcp/ip·电脑
Code季风17 小时前
数据传输的基石:全面解析常见序列化方案与选型策略
java·rpc·json
林深的林1 天前
Http证书体系及证书加密流程(通信流程)
网络协议·http·https
武子康1 天前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
7ACE1 天前
Wireshark TS | 发送数据超出接收窗口
网络协议·tcp/ip·wireshark
van叶~1 天前
Linux网络-------1.socket编程基础---(TCP-socket)
linux·网络·tcp/ip