【问题标题】:In-practice ideal timeout length for idle HTTP connections空闲 HTTP 连接的实际理想超时长度
【发布时间】:2011-03-19 06:38:03
【问题描述】:
在嵌入式设备中,允许空闲 HTTP 连接保持打开状态的实际时间是多少?
我知道在 1999 年左右的网络时代,互联网聊天室有时会保持连接打开并在它们进入时发送回复。在那些日子里,空闲超时和 HTTP 连接的会话长度需要更长.. .
今天用ajax之类的怎么样?
推理:我正在为内存不足的嵌入式系统编写透明代理。我正在寻找防止 DoS 攻击的方法。
我的猜测是 3 分钟,或 1 分钟。该系统的 RAM 非常有限,如果它破坏了稀有和不受欢迎的网站,也没关系。
【问题讨论】:
标签:
http
memory-management
timeout
python-idle
【解决方案1】:
除非有另一个通信请求进来,否则允许空闲的 HTTP 连接保持打开状态怎么样?如果一个连接是打开的并且没有其他人试图进行通信,那么打开的连接不会伤害任何东西。如果其他人确实尝试通信,请向第一个连接发送 FIN+ACK 并打开第二个连接。如果可能,许多 http 客户端会尝试使用同一连接接收多个文件,但如果需要,可以在文件之间重新连接。
【解决方案2】:
在过去(大约 2000 年),空闲超时标准最长为 5 分钟。这些天它往往是 5 秒 到 50 秒。 Apache 的默认值为 5 秒。一些特殊应用默认为 120 秒。
所以我的假设是,使用 AJAX,不再需要长时间保持打开的 HTTP 连接。