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

news/2025/9/27 12:27:24/文章来源:https://www.cnblogs.com/wzzkaifa/p/19114958

网络通信协议知识笔记

一、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.mzph.cn/news/919456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业级大数据技术栈:基于Hadoop+Spark的全球经济指标分析与可视化环境实践

企业级大数据技术栈:基于Hadoop+Spark的全球经济指标分析与可视化环境实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

网站制作的相关术语西安专业做网站建

连接MySQL数据库时常见故障问题的分析与解决 初学的mysql网友好象经常会碰到mysql无法连接的错误。特开贴收集这样问题的现象和原因。 先自己扔块砖头出来。 归纳如下: 故障现象 : 无法连接 mysql 错误信息1 :ERROR 1045 (28000): Access deni…

若邻接矩阵是三角矩阵,则存在拓扑序列;反之则不一定成立

目录1. 命题回顾2. 前半句:邻接矩阵是三角矩阵 ⇒ 存在拓扑序列2.1 邻接矩阵是上三角矩阵的情况2.2 邻接矩阵是下三角矩阵的情况3. 后半句:反之则不一定成立4. 最终判断1. 命题回顾若邻接矩阵是三角矩阵,则存在拓扑…

Gateway-断言 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

macOS 多 Java 版本管理(jenv 方案)

目录一、目标二、查看已安装的 JDK三、使用 jenv 管理 Java 版本1. 安装 jenv2. 配置 Shell 环境3. 添加已安装的 JDK4. 查看可用版本5. 切换 Java 版本6. 验证版本四、常见问题1. 权限问题2. Shell 配置文件选择错误五…

龙口网站制作价格衡阳网站建设技术外包

操作: 是时机函数,在页面加载前,可以在这两个函数里面做一些事情, 比如发送异步请求。 类似过滤器,或者拦截器。1. axios安装 安装报错,多装几遍,或者用cnpm安装 npm install axios -s npm in…

怎么提高网站关键字排名网站怎么做360免费优化

在数字化浪潮席卷全球的今天,跨境电商业务蓬勃发展,成为推动国际贸易增长的重要引擎。亚马逊,作为全球最大的电商平台之一,以其独特的平台特点和全球化布局,为卖家和买家提供了便捷、高效的交易环境,成为众…

广州搜索seo网站优化建设银行网站字体

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…

AI 落地教育智慧招生:从 “热线占线” 到 “724 小时精准应答” 的实践分享

AI 落地教育智慧招生:从 “热线占线” 到 “724 小时精准应答” 的实践分享在教育招生季,家长对 “报名时间”“学区范围”“学校特色” 的咨询需求集中爆发,而传统招生咨询模式往往陷入 “家长急、老师累、效率低”…

软件技术基础第一次课程

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/25rjjc 这个作业的目标 初步学习博客的发文方法,进行自我评估,有初步的认知 姓名-学号 林靖迪- 2023329301118自我介绍与自我评估自我介绍 我叫林靖迪,是…

服装网站策划设计重庆手机网站制作价格

过几天就要回家了,剩下的工作还有一点没有完成.不过已经是无关大碍了.突然有种很烦的感觉.想想这个暑假的时间里面自己也算是经历不少了,可是回忆一下自己到底收获了什么,脑子里面却是一片空白,什么都想不到.本来是要动笔写篇"我的深圳之行"之类的东西的,可是却没有一…

做网站推广怎么找客户临安区做网站的公司

实现一个标准型计算器及其各项功能的实现 效果图欣赏 是不是看起来很漂亮的呢??? 功能详解: 屏幕显示输入的数字和符号实现加减乘除运算回退和清零功能小数的运算结果的输出 相信小伙伴们都已经迫不及待的想要知道源码了。 代…

石子合并(一排的和一个环的)

石子合并 石子合并是环形dp的经典题,要做它我们首先要做它的弱化版,也就是排成一排的情况:石子合并(弱化版)(洛谷p1775) 石子合并弱化版解法 对于这道题,可以先从简单的情况开始考虑;比如现在要合并a,b,c三堆…

思维题练习

思维题题解合集本文选取题目源于此处,以及一些平时的好的思维题。 大体按照主观难度排序。[FJCPC 2025] 构造大师贝贝 注意到 \(T\leq1000\),但是 \(n\leq10^{12}\)。那么从时间复杂度的角度考虑,应当为一个类似于 …

NXP - 用MCUXpresso IDE导入lpcopen_2_10_lpcxpresso_nxp_lpcxpresso_1769.zip中的工程 - 教程

NXP - 用MCUXpresso IDE导入lpcopen_2_10_lpcxpresso_nxp_lpcxpresso_1769.zip中的工程 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

US$42 BDM01 Adapter for Yanhua Mini ACDP Module1 BMW CAS1-CAS4+

BDM01 Adapter for Yanhua Mini ACDP Module1 BMW CAS1-CAS4+Package List:1pc x BDM01 Adapter for Yanhua Mini ACDP Module1 Pictures of BDM01 Adapter for Yanhua Mini ACDP Module1 BMW CAS1-CAS4+BDM01 Adapter…

江苏网站集约化建设frontpage怎么改网站名字

教你快速上手AI应用——吴恩达AI系列教程 人工智能风靡全球,它的应用已经渗透到我们生活的方方面面,从自动驾驶到智能家居,再到医疗辅助和量化交易等等。他们逐渐改变了我们的生活方式,然而,对于许多人来说,AI仍然是一个神秘且无法理解的领域。 为了帮助更多的人理解并掌握AI…

北京网站案例站长统计app软件

前言 Perfectly Clear WorkBench 是一款图像修复工具,可以帮助用户对自己的图片素材进行修复,很多的照片因为拍摄问题,或者设备限制,会导致拍摄效果不好,使用这款软件可以进行一定程度的修复,当拍摄时亮度…

spatial项目的主要领导者斯坦福大学ppl实验室的 Kunle Olukotun 教授和 Christos Kozyrakis 教授

Kunle Olukotun 教授是一位出身于印度的计算机科学家,他的知名成就是开创了多核处理器的先河。标签是 Sun 公司的 Niagara 系列多核处理器,当时大家都还在单核上混。Olukotun团队的解决方案:他们提出了 芯片多处理器…