当前位置: 首页 > news >正文

网络通信协议全解析:HTTP/UDP/TCP核心要点

网络通信协议知识笔记

一、HTTP协议基础

  1. HTTP(超文本传输协议):属于应用层协议,用于客户端与服务器之间传递文件和数据。
  2. 超链接与URL:URL(统一资源定位符)本质上通过 socket 通信实现资源访问。
  3. IP与域名:域名映射到唯一的 IP 地址,用于资源定位。
  4. 端口号:HTTP 默认端口为 80,HTTPS 为 443,端口固定且协议成熟。
  5. 资源路径:在 Linux 系统中,资源即文件,路径指向服务器上的具体文件。
  6. URL 编码与解码:浏览器端采用 urlencode,服务器端使用 urldecode 进行处理。

二、HTTP请求与响应流程

  1. B/S模式:浏览器(客户端)与服务器进行通信。
  2. 请求结构
    1. 第一行:请求行
    2. 后续:请求报头(属性字段)
    3. 空行分隔报头与有效载荷
    4. 数据部分:请求正文
  3. 响应结构
    1. 状态行
    2. 响应报头
    3. 响应正文
    4. content-Length:响应正文长度
  4. HTTP短链接与服务:HTTP 为客户端提供短服务,/ 表示 web 根目录(非 Linux 根目录),服务器自动拼接首页。

三、HTTP请求方式

  1. GET:参数通过 URI 提交,长度有限,参数会回显,不适合传递大量或敏感数据。
  2. POST:参数通过请求正文提交,适合长数据,更加私密,但同样不绝对安全。
  3. 安全性:HTTP 本身不安全,需结合其他安全机制使用。

四、会话与安全机制

  1. Cookie:实现免密登录、免密跳转。
  2. Session:提升安全性,主流方案为 Cookie + Session。
  3. HTTP微服务接口:采用 RESTful 风格设计。
  4. HTTP协议特性:无状态、无连接。

五、UDP协议要点

  1. UDP端口号:采用五元组标识,报头定长,端口号为 16 位。
  2. 数据报边界:报文间有明确边界,长度确定,面向用户数据报。

六、TCP协议详解

1. 报文结构与序号

  1. 报文大小:20~60 字节(5~15 个 4 字节块)
  2. 序号与确认序号:用于乱序处理和去重

2. 标志位功能

  1. SYN:建立连接
  2. ACK:确认应答
  3. FIN:断开连接
  4. PSH:提示应用程序读取数据
  5. RST:复位连接
  6. URG:紧急指针有效

3. 连接建立与断开

  1. 三次握手:SYN → SYN+ACK → ACK,确保全双工通信及双方意愿
  2. 四次挥手:双方均发送断开请求和应答,关闭两条信道,实现全双工断开

4. 连接管理与异常处理

  1. 主动断开方进入 TIME_WAIT,等待残留报文消散
  2. setsockopt() 可设置 SO_REUSEADDR,允许端口复用
  3. 半连接:关闭读/写实现单双工通信

七、TCP数据传输与控制

1. 丢包与重传

  1. 丢包类型:数据包丢失、应答丢失
  2. 超时重传与快重传机制,序号去重
  3. 滑动窗口:流量控制,窗口大小决定一次可发送数据量

2. 滑动窗口机制

  1. start=确认序号,end=start+win
  2. 窗口调整灵活,可为0但不能向左移动
  3. 自动重传与快重传配合提升效率

3. 流量与拥塞控制

  1. 16位窗口大小,窗口扩大因子
  2. 拥塞窗口算法:慢启动(指数增长)、线性增长(加法增大),临界值 ssthresh 初始值为16
  3. 滑动窗口=min(对方win, 拥塞窗口),动态调整发送速率

4. 延迟应答与粘包问题

  1. 延迟应答提升效率
  2. TCP面向字节流,需协议+序列化/反序列化解决粘包

八、总结与补充

  1. HTTP、UDP、TCP三大协议各有特点
  2. TCP通过三次握手和四次挥手保障连接可靠性
  3. 滑动窗口与拥塞控制提升数据传输效率与安全
  4. 会话机制(Cookie + Session)用于管理身份和安全

如需进一步学习或有疑问,欢迎留言交流!

九、HTTPS加密与安全机制

  1. HTTPS(TLS/SSL):是经过加密和解密的 HTTP。
  2. 对称加密:加密与解密密钥相同,加密速度快。
  3. 非对称加密:有两个密钥(公钥和私钥),算法复杂,加密速度慢。使用公钥加密,只能用私钥解密。
  4. 数据摘要与指纹:形成的数据具有唯一性。

常见加密方案:

  1. 只使用对称加密:双方无法同步密钥。
  2. 一方使用非对称加密:只能解决单向通信安全,运算速度慢。
  3. 双方都使用非对称加密:先交换公钥,用对方公钥加密,用自己私钥解密,速度慢。
  4. 非对称加密 + 对称加密:先用非对称加密协商密钥,再用对称加密通信,存在公钥合法性验证问题。
  5. 非对称加密 + 对称加密 + CA认证:三组密钥,双非一对,提升安全性。

签名与验证机制:

  1. 签名:数据散列摘要加密后形成签名,与数据一起附加。
  2. 验证:拆开数据,再散列成摘要,与解密后的摘要对比,判断数据完整性。
  3. 只有签名者(如 CA 机构)才拥有签名权力。
  4. 证书:一份明文数据,携带签名信息。

http://www.dtcms.com/a/406060.html

相关文章:

  • 郴州网站建设软件定制开发平台e盘网站建设
  • 在Unix/Linux中bash/sh/source以及./执行脚本的区别
  • 宜春公司做网站双语网站建设定制开发
  • Spring Boot 应用启动组件加载顺序与优先级详解
  • Spring Boot 事件发布与监听 观察者模式的实际应用
  • Sui Stack Messaging SDK:为 Web3 打造可编程通信
  • 光谱相机的未来趋势
  • 【Java后端】《Spring Boot Starter 原理详解》博客
  • 设计与绘制一个网站首页同学录wordpress
  • Vue2的生命周期
  • MySQL学习笔记04:MySQL InnoDB存储引擎核心机制深度解析
  • 中国企业网站建设响应式网站管理
  • 遇到不会的事,先写一写
  • 心理咨询 网站模版嘉兴网站建设技术开发
  • 【面试】Kafka / RabbitMQ / ActiveMQ
  • 新网站建设的工作总结文化网站建设需要的功能
  • 11.WPF 的命令处理事件--参数介绍
  • 旅游管理虚拟仿真实训室:打通理论与实践壁垒
  • FreeLong-无需训练即可延长视频生成时长
  • Lynx:新一代个性化视频生成模型,单图即可生成视频,重新定义身份一致性与视觉质量
  • 关于机器视觉中的”果冻效应“讲解:全局曝光 vs 卷帘曝光
  • 如何做百度的网站网站开发技术的雏形 cgi
  • 织梦医院网站源码6731官方网站下载
  • Transformer模型/注意力机制/目标检测/语义分割/图神经网络/强化学习/生成式模型/自监督学习/物理信息神经网络等
  • 公司网站 域名seo快速提高网站转化率
  • Planner Agent 和 PlanReAct 的区别
  • Google Play合规指南:您的应用所使用的原生库不支持 16 KB 内存页面大小.快速解决
  • 什么是覆盖索引?PostgreSQL 是否支持覆盖索引?
  • 谨慎地迭代函数所收到的参数 (Effective Python 第31条)
  • ESP32 NTC热敏电阻测温全攻略:从ADC采样到线性插值算法详解