http/1.1的缺陷

发表于:2007-05-25来源:作者:点击数: 标签:
最近,闲来无事,翻出各种协议规则来看,忽一日发现http/1.1协议有一 缺陷 ,一个遵守http/1.1的 服务器 缺省与http/1.1的客户的连接是一条持续连接,除非请求或应答中带有指示关闭连接的标识字“close”的connect头域,否则这个连接不会关闭。这样如果写一

最近,闲来无事,翻出各种协议规则来看,忽一日发现http/1.1协议有一缺陷,一个遵守http/1.1的服务器缺省与http/1.1的客户的连接是一条持续连接,除非请求或应答中带有指示关闭连接的标识字 “close”的connect头域,否则这个连接不会关闭。这样如果写一使用http/1.1协议通讯的客户程序,而这个程序又不发送”close”标识字,哈!那么过不了多久基于fork子进程应答http/1.1请求的http服务器就会由于资源耗尽,而停止对正常http请求的应答。
Unix下的apache是一个典型的基于fork子进程应答http/1.1请求的http服务器。管理这种http服务器的管理员一定要注意这个缺陷。

 babywang 回复于:2003-06-17 16:22:19
根据我所知apache对于这样的不关闭连接的行为,有一个timeout的时间设置,当超过这个时间后,这个连接就会被服务器关掉的,我想只要不是恶意大量这样不关连接的请求,就没有太大问题,就算有人恶意发送这样的请求,其实只要发送tcp协议中三次握手的第一次请求,后面不响音就完事了,你的网络很快就。。。。。DOS啊。。。。。

 nuobugan 回复于:2003-06-19 10:26:37
楼上的能说的具体些吗?如果碰到恶意的连接,应如何对付?如何“ 发送tcp协议中三次握手的第一次请求,后面不响音就完事了 ”。非常感谢。

 郝君 回复于:2003-08-19 02:17:49
o

原文转自:http://www.ltesting.net