我有一台服务器,我的客户端向其发送带有一些值的HTTP GET请求。服务器的最后只是将这些值存储到数据库中。关于丢失HTTP请求
现在,我注意到有时候我并没有在数据库中观察这些值。下列情况之一可能发生:
- 不会发送它
- 服务器从未收到它
- 服务器无法以书面形式向数据库
我最大的疑问,客户端是,原因是2 - 但我无法完全解释它。由于这是一个HTTP请求(意味着下面有TCP),应该保证GET请求的可靠传送,对吧?即使我向服务器发送了一个GET请求 - 它从来没有被服务器接收过吗?如果是,那么TCP在那里做什么?
或者,我可以自信地断言,如果服务器启动并运行,并且发送到服务器的所有内容都写入数据库,那么数据库中没有GET请求的详细信息意味着客户端永远不会发送它?
不确定详细信息是否有帮助 - 但我正在运行一个tomcat服务器,我只是通过get请求发送一个名称 - 值对。
无论您使用哪种语言来发出http请求,您都必须检查该操作的结果,并将其打印或记录下来...... – MarcoS
因此,例如,一些网络问题和数据包从未到达服务器(因此我不会得到服务器的任何响应) - 至少这种情况应该由TCP处理 - 即 - 重新发送数据包 - 直到我们得到响应为止? – TheBlueNotebook
是的,最糟糕的是,你会收到一个超时错误... – MarcoS