以编程方式发出HTTP POST请求时,哪些超时值是明智的?
在我的情况下,我想在PHP中发出POST请求时设置'合理'的超时值,但这适用于任何语言.
我需要能够发出一组请求,每个请求都是用户指定的URL.如果我确实需要连续处理请求而不是同时处理请求,我想指定一个合理的时间,超过该时间,请求被认为已经超时.
PHP的默认套接字超时为60秒.在决定请求无法完成之前,这似乎是一个不必要的等待时间.
由于这些是POST请求,因此它们应该快速完成 - 没有像GET请求那样检索和返回数据.
在大多数情况下,我们应该能够假设在X秒内未能对请求发出响应意味着主机不太可能在合理的时间内为X值显着小于60 发出响应.
当然主机很少需要超过60秒才能响应简单的POST请求.他们甚至很少超过10秒?5秒?
在实践中X可能是什么明智的价值?伴随建议的理由将是非常有益的.
我建议设置一个测试,因为有太多的因素需要提供一个永远合理的值.
POST请求发送要处理的数据.处理需要多长时间?这将是特定于应用程序/数据的.
主持人在哪里?用户正在提供URL,因此将是未知的.我们无法知道您的应用程序与主机之间的流量.我们无法知道主机的服务器负载.
从本质上讲,没有普遍合理的超时.您必须根据自己的特定需求使用自己的最佳判断.设置测试并使用它来确定您的限制.