Proxy 对异步关闭事件的响应

Proxy's Response to Asynchronous Close Events

假设您有一个 HTTP/1.1 代理位于客户端和服务器之间。如果连接是持久的,则服务器有可能关闭连接,但客户端会在收到关闭通知之前发送请求。代理人对此的正确回应是什么?它是向客户端发送 HTTP 错误还是尝试重新连接到服务器?

代理应该模仿服务器的行为,并关闭连接 - 无论是否有正在运行的请求。

自动重新连接会产生不必要的副作用。客户端会假设它仍然具有相同的持久连接,并且可以跳过身份验证 headers、cookie 等

另一种选择 - 返回 5xx 错误也是错误的,因为客户端也可能对服务器状态做出错误的假设。

模仿服务器的行为是最安全和一致的选择。