在以编程方式发出请求时要使用的敏感HTTP POST超时值?

Jon*_*ram 9 post timeout http

以编程方式发出HTTP POST请求时,哪些超时值是明智的?

在我的情况下,我想在PHP中发出POST请求时设置'合理'的超时值,但这适用于任何语言.

我需要能够发出一组请求,每个请求都是用户指定的URL.如果我确实需要连续处理请求而不是同时处理请求,我想指定一个合理的时间,超过该时间,请求被认为已经超时.

PHP的默认套接字超时为60秒.在决定请求无法完成之前,这似乎是一个不必要的等待时间.

由于这些是POST请求,因此它们应该快速完成 - 没有像GET请求那样检索和返回数据.

大多数情况下,我们应该能够假设在X秒内未能对请求发出响应意味着主机不太可能在合理的时间内为X值显着小于60 发出响应.

当然主机很少需要超过60秒才能响应简单的POST请求.他们甚至很少超过10秒?5秒?

在实践中X可能是什么明智的价值?伴随建议的理由将是非常有益的.

Pho*_*nix 5

我建议设置一个测试,因为有太多的因素需要提供一个永远合理的值.

POST请求发送要处理的数据.处理需要多长时间?这将是特定于应用程序/数据的.

主持人在哪里?用户正在提供URL,因此将是未知的.我们无法知道您的应用程序与主机之间的流量.我们无法知道主机的服务器负载.

从本质上讲,没有普遍合理的超时.您必须根据自己的特定需求使用自己的最佳判断.设置测试并使用它来确定您的限制.