编程通用注意事项(无关语言 redis的看单独一篇)

1、PHP 有这两个与超时相关的选项: CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 。

PHP 网站上的描述有点模糊。有什么不同?
举一个现实世界的例子:假设你通过 cURL 向一个 URL 发送 GET 变量,并且你想接收一个返回的 XML,那么 CURLOPT_CONNECTTIMEOUT 与连接到服务器和 CURLOPT_TIMEOUT 发回 XML 所需的最长时间?

回答:
CURLOPT_CONNECTTIMEOUT 是允许与服务器建立连接的最长时间(以秒为单位)。可以将其设置为 0 以禁用此限制,但这在生产环境中是不可取的。
CURLOPT_TIMEOUT 是以秒为单位的最大时间量,单个 cURL 扩展函数调用的执行将受到限制。请注意,此设置的值应包括 CURLOPT_CONNECTTIMEOUT 的值。
也就是说,CURLOPT_CONNECTTIMEOUT是CURLOPT_TIMEOUT所代表的时间段,所以CURLOPT_TIMEOUT的值应该大于CURLOPT_CONNECTTIMEOUT的值。

https://segmentfault.com/q/1010000042656838 这个ui还挺不错的
基本上连接时间涵盖了建立http连接的两个方面:

DNS解析
直到建立 tcp 连接的时间。
CURLOPT_TIMEOUT 或 CURLOPT_TIMEOUT_MS 选项根本没有涵盖这段时间。这些涵盖了在我们开始通过刚刚在连接阶段建立的 TCP 连接上的 HTTP 之后发生的所有事情。

这种区别给很多人带来了问题,但它确实允许设置一个相对较短的连接超时,因为如果服务器完全不可用,为什么还要等待呢?然而,您仍然可以让您的请求超时相当长,以防服务的预期响应时间难以预测。

通常,对于生产设置,CURLOPT_CONNECTION_TIMEOUT 应小于 5 秒,CURLOPT_TIMEOUT 应尽可能低(不会导致您定期丢弃请求)。

JSON应该始终有多维,不然以后拓展接口很麻烦

比如直接传list在外层,以后升级了,比如加个total,不好维护

aa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值