连接关闭HTTP请求响应

时间:2014-08-05 07:34:59

标签: http rfc2616

关于HTTP连接关闭我有两个问题:

  1. 如果客户端发送带有Connection的HTTP请求:接近HTTP Server,客户端收到响应后发送TCP FIN是HTTP服务器还是客户端责任?

  2. 如果客户端发送格式错误的HTTP请求,并且服务器发送400 BAD REQUEST,最好是按服务器关闭连接(即使HTTP请求有连接:keep-alive),还是保持连接仍然有效的良好做法?

  3. 提前感谢您回答我的问题?

1 个答案:

答案 0 :(得分:4)

  1. 当服务器收到400 Bad Request时,它将发送带有keep-alive标头的响应,因为如果客户端感觉要发送另一个请求,那么他们可以使用预先存在的连接(此连接)在一定时间内关闭,它有一个到期日期)。 Keep-Alive Header更多的是不使TCP连接需求饱和网络。你基本上会说“我要跟你说话,2分钟,无论你寄给我什么,我会通过这种联系回答你”

  2. 服务器只是一个从用户接收命令的对象。你问他,他有没有。 TCP FIN是您发送到服务器以关闭连接的内容,但您选择何时不想再与他通信。客户端发送第一个FIN,并接收ACK以确保服务器获得它。然后服务器启动自己的FIN,并等待ACK。如果一切正常,您和您的服务器将不再是朋友。