【发布时间】:2017-03-02 06:01:38
【问题描述】:
我了解 HTTP 请求将产生带有代码和可选正文的响应。
如果我们将请求的发起者称为“客户端”,将请求的接收者称为“服务器”。
那么序列是
- 客户端发送请求
- 服务器收到请求
- 服务器发送响应
- 客户端接收响应
服务器是否有可能完成第 3 步但第 4 步没有发生(由于连接断开、应用程序错误等)。
换句话说:服务器是否有可能“相信”客户端应该收到响应,但由于某种原因客户端没有收到?
【问题讨论】:
-
可能不是,因为 TCP
-
@bolov no stackoverflow.com/questions/12871760/…
-
@Asu,实际上是的。因为 TCP。
-
这取决于底层传输的可靠性,即使在支持 TCP 的端点之间,它在整个网络中也存在很大差异。您是否曾尝试访问一个繁忙的网站,但由于请求被丢弃而从未得到响应,但稍后再回来发现您的更改确实有效?
-
TCP 标准保证发送的数据包将被接收或发送者将收到错误,但并非所有实现都是平等的,它们也并非都完美地实现了标准。
标签: http