news 2026/6/21 8:28:54

什么是HTTP长连接、短连接?谁更能抗DoS攻击?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是HTTP长连接、短连接?谁更能抗DoS攻击?

想象你在快餐店点餐:

  1. 你:“一个汉堡”
  2. 收银员:“好的,15元”
  3. 交易结束,你离开队伍
  4. 你想加杯可乐,重新排队
  5. 你:“一杯可乐”
  6. 收银员:“好的,8元”
  7. 再次离开…

这种每次沟通后立即断开的模式,就是HTTP短连接的日常写照。

1. 短连接:频繁握手的代价

短连接工作流程:

  1. 建立TCP连接(三次握手)
  2. 发送HTTP请求
  3. 接收HTTP响应
  4. 立即断开连接(四次挥手)

致命痛点:加载一个含20张图片的网页时,浏览器需重复20次握手挥手流程!

2. 长连接:咖啡店会员的智慧

现在换到熟悉的咖啡店:

  1. 你:“我是会员小明”
  2. 店员:“欢迎!今天需要什么?”
  3. 你:“一杯拿铁”
  4. 店员:“好的,马上做”
  5. 你:“再加个牛角包”
  6. 店员:“已记录,稍等”
  7. 你继续点单直到说"结账"

这种持续会话复用通道的模式,正是HTTP长连接的精髓。

3. 技术实现揭秘

核心机制

4. 性能视角:长连接完胜
对比项短连接长连接
加载含50资源的网页50次握手+50次挥手1次握手+1次挥手
延迟消耗高(数百ms级)极低(ms级)
服务器压力CPU占用高连接数减少80%
适用场景低频请求场景现代Web应用标配

案例:某电商网站在启用HTTP/2长连接后:

长连接的管理

长连接并非永久保持,服务器通过精妙机制控制资源:

# Nginx配置示例 http { keepalive_timeout 30s; # 超时自动关闭 keepalive_requests 100; # 最多服务100请求 }

当遇到以下情况时连接终止:

  1. 超时(如30秒无活动)
  2. 达到最大请求数
  3. 客户端主动关闭
  4. 传输错误
5. 安全视角:长连接完败

连接维持资源消耗

资源类型长连接占用短连接占用
内存30-50KB/连接瞬时占用后释放
文件描述符长期占用短暂占用
CPU心跳包持续消耗仅握手时消耗

实验数据:Apache服务器维持10,000长连接需消耗500MB内存,而同等短连接攻击仅消耗50MB

防御策略

# 使用iptables限制单IP连接数 iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j DROP

攻击面对比

攻击类型长连接表现短连接表现
SYN Flood高危(需多次握手)高危(每次请求都握手)
HTTP Flood极高危(单连接多请求)中危(需频繁重建连接)
Slowloris极高危(长期占用连接)免疫(连接立即释放)
资源耗尽攻击高危(内存/描述符占用)中危(瞬时压力大)
6. HTTP长连接 vs TCP长连接

HTTP长连接是建立在TCP连接的基础上,HTTP/2 基于 TCP,但HTTP/3 基于 QUIC(UDP)。

关键差异维度对比

特性TCP长连接HTTP长连接
协议层级传输层(OSI第4层)应用层(OSI第7层)
控制主体操作系统内核Web服务器/客户端
维持机制TCP Keepalive探针HTTP报文传输
超时时间小时级(默认2小时)秒级(通常30-60秒)
数据传输纯ACK包(无应用数据)携带实际HTTP请求/响应
配置位置操作系统内核参数Web服务器配置文件
连接复用对象任意应用层协议仅HTTP协议

7. 结语:连接的艺术

当你在微信聊天时持续发送消息,当股票软件实时刷新数据,背后都是长连接在默默支撑。而浏览静态宣传页时,短连接仍在发挥余热。

技术选择启示


关注我,带你看懂技术本质!用最接地气的"人话"拆解硬核知识,让复杂概念变得简单易懂 🔥

每周更新

适合人群

在这里你能获得

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/20 3:36:18

编写编程学习助手,根据用户编程水平(新手/入门/进阶),编程语言(python/Java/C++),推荐合适的学习课程,练习题,项目,生成编程学习计划,还能在线运行代码。

📌 项目概述项目名称CodeMentor(编程学习助手)应用场景在编程学习过程中,学习者常遇到以下问题:1. 学习路径不清晰:不知道从何学起,容易迷失方向。2. 资源选择困难:网上教程质量参差…

作者头像 李华
网站建设 2026/6/13 5:54:29

Ab3d.DXEngine 8.0.9

适用于 WPF 和 WinForms 的 DirectX 11 3D 渲染引擎 Ab3d.DXEngine 是一款速度极快的 3D 渲染引擎,可用于 .Net 桌面应用程序。 Ab3d.DXEngine 使用超快的多线程渲染技术,可以充分利用显卡,提供几乎与使用 C 时相同的极致性能。 该引擎还支…

作者头像 李华