如果您查看 wp_remote_get 的文档您会看到 arguments 数组采用 http 版本,但默认为“1.0”。为什么 WordPress 中的默认值不是“1.1”?
我持续通过“1.1”以利用较新版本的 http 是否有任何风险?
最佳答案
默认情况下,HTTP 1.1 请求是流水线式的。如果您不“连接:关闭”,它会假定“连接:保持事件”,然后您必须等待连接超时(因为您从未明确关闭它),然后才能开始下一个循环。
由 TML 回答 -> file_get_contents() with context to use http/1.1 significantly slow download speeds
为避免使用 HTTP 1.1 获取响应速度变慢的风险,您必须在 wp_remote_get 中传递 header 连接关闭:
$response = wp_remote_get( 'http://www.example.com/index.php?action=foo',
array(
'timeout' => 120,
'httpversion' => '1.1',
'headers' => 'Connection: close'
)
);
关于Wordpress 默认为 HTTP 1.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32356545/