2010年4月9日星期五

关于设置http响应头connection的作用

有的网站会在服务器运行一段时间后down掉,有很多原因可能造成这种现象:比如tomcat堆和非堆内存设置不足,程序没能释放内存空间造成内存 溢出,或者某些进程一直运行没能释放,造成cpu资源大量消耗。但除了程序本身的原因,还有可能是客服端访问造成(当然这个客户端也包含如蜘蛛软件等搜索 引擎),如果服务器和客户端建立的是长链接,这就需要对http响应头的connection做一定的设置。

在http1.1中request和reponse header中都有可能出现一个connection头字段,此header的含义是当client和server通信时对于长链接如何进行处理。在 http1.1中,client和server都是默认对方支持长链接的, 如果client使用http1.1协议,但又不希望使用长链接,则需要在header中指明connection的值为close;如果server方也不想支持长链接,则在response中也需要明确说明connection的值为close。

不论request还是response的header中包含了值为close的connection,都表明当前正在使用的tcp链接在请求处理完毕后 会被断掉。以后client再进行新的请求时就必须创建新的tcp链接了。HTTP Connection的close设置允许客户端或服务器中任何一方关闭底层的连接双方都会要求在处理请求后关闭它们的TCP连接。

Yahoo邮件服务器的响应包头的connection默认关闭。

标签: ,


评论: 发表评论

订阅 博文评论 [Atom]





<< 主页

This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]