客户端是否有可能收到 http 响应,但服务器不确定它是否收到?
Is it possible for a client to receive an http response but the server not be certain that it did?
是否存在每种情况,对于 HTTP 或 HTTPS,服务器向客户端发送 HTTP 响应,客户端收到完整的响应,但服务器不能确定客户端是否收到完整的响应,例如,如果服务器未收到来自客户端的最终 ACK 或 FIN 消息?
如果是这样,可能发生这种情况的条件是什么?
我查看了多个 RFC 并四处搜索,但找不到任何相关答案。
让我们问一些稍微不同的问题:
Q1:服务器是否可以确定其响应已成功发送?
答:是的。
Q2:服务器是否有可能检测到发送响应时发生错误?
答:是的。
Q3:如果TCP/IP连接在客户端完全接收消息之前异常终止,会发生什么情况?
A:客户端和服务器都获得了一个RST。
Q1 和 Q2 在两个不同级别的 either/both 上的答案是“是”:
TCP/IP connection level: 连接是否正常关闭。
HTTP "Persistent Connection" (RFC 2616):提供额外的应用层错误报告功能。
希望对您有所帮助...
是否存在每种情况,对于 HTTP 或 HTTPS,服务器向客户端发送 HTTP 响应,客户端收到完整的响应,但服务器不能确定客户端是否收到完整的响应,例如,如果服务器未收到来自客户端的最终 ACK 或 FIN 消息?
如果是这样,可能发生这种情况的条件是什么?
我查看了多个 RFC 并四处搜索,但找不到任何相关答案。
让我们问一些稍微不同的问题:
Q1:服务器是否可以确定其响应已成功发送?
答:是的。
Q2:服务器是否有可能检测到发送响应时发生错误?
答:是的。
Q3:如果TCP/IP连接在客户端完全接收消息之前异常终止,会发生什么情况?
A:客户端和服务器都获得了一个RST。
Q1 和 Q2 在两个不同级别的 either/both 上的答案是“是”:
TCP/IP connection level: 连接是否正常关闭。
HTTP "Persistent Connection" (RFC 2616):提供额外的应用层错误报告功能。
希望对您有所帮助...