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

embedded/2025/3/15 1:28:18/

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 的通信。

http://www.ppmy.cn/embedded/172630.html

相关文章

Ultravox:融合whisper+llama实现audio2text交互

Ultravox是由Fixie AI开发的一种创新型多模态大语言模型,专为实时语音交互设计。与传统的语音交互系统不同,Ultravox无需单独的语音识别(ASR)阶段,可以直接理解文本和人类语音,实现更快速、更自然的交互体验。Ultravox v0.5在语音理解基准测试中超越了OpenAI的GPT-4o Realt…

vue3在ts中动态添加DOM(1、使用render函数,2、使用tsx)

1、使用render函数和h函数 h函数创建虚拟节点&#xff08;VNode&#xff09;&#xff0c;render函数实现虚拟节点生成真实DOM元素 实现添加一个el-button按钮 <script setup lang"ts"> import { ElButton } from "element-plus"; //需要在页面中引…

Appium高级操作--从源码角度解析--模拟复杂手势操作

书接上回&#xff0c;Android自动化--Appium基本操作-CSDN博客文章浏览阅读600次&#xff0c;点赞10次&#xff0c;收藏5次。书接上回&#xff0c;上一篇文章已经介绍了appium在Android端的元素定位方法和识别工具Inspector&#xff0c;本次要介绍使用如何利用Appium对找到的元…

多源 BFS_多源最短路(十八)542. 01 矩阵 中等 超级源点思想

542. 01 矩阵 给定一个由 0 和 1 组成的矩阵 mat &#xff0c;请输出一个大小相同的矩阵&#xff0c;其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1&#xff1a; 输入&#xff1a;mat [[0,0,0],[0,1,0],[0,0,0]] 输出&#xff…

Redis 单线程架构:化繁为简的性能哲学

在分布式系统普遍采用多线程/多进程架构的今天&#xff0c;Redis 却坚持使用单线程模型处理核心业务逻辑&#xff0c;这种看似"反常识"的设计决策背后&#xff0c;隐藏着精妙的设计哲学。本文将深入剖析 Redis 单线程架构的底层密码&#xff0c;揭示其高效运转的奥秘…

蓝桥杯 17110抓娃娃

问题描述 小明拿了 n 条线段练习抓娃娃。他将所有线段铺在数轴上&#xff0c;第 i 条线段的左端点在 li&#xff0c;右端点在 ri​。小明用 m 个区间去框这些线段&#xff0c;第 i个区间的范围是 [Li​, Ri​]。如果一个线段有 至少一半 的长度被包含在某个区间内&#xff0c;…

Go 语言入门指南

Go 语言入门指南 欢迎踏入 Go 语言的奇妙世界&#xff01;Go&#xff08;亦称作 Golang&#xff09;是由 Google 开发的一门静态强类型、编译型、支持并发且具备垃圾回收机制的编程语言。自 2009 年首次发布以来&#xff0c;凭借其简洁、高效、易维护等卓越特性&#xff0c;Go…

cfi网络安全 网络安全hcip

目录 RIP (路由信息协议) 算法 开销 版本 开销值的计算方式 RIPV1和RIPV2的区别 RIP的数据包 Request(请求)包 Reponse(应答)包 RIP的特征 周期更新 RIP的计时器 1&#xff0c;周期更新计时器 2&#xff0c;失效计时器 3&#xff0c;垃圾回收计时器 RIP的核心思…