使用 http_response_code 函数的主要好处是,我们可以发送 HTTP 响应代码,而不必考虑客户端使用的协议版本。
相反,如果我们使用 PHP 标头函数发送原始响应代码,我们将需要手动确定协议版本。
许多 PHP 应用程序会错误地发送原始 HTTP 标头响应代码,而没有正确确定客户端使用的协议。
这在极少数情况下会导致问题。
对协议进行硬编码,例如 HTTP/2.0 或者 HTTP/1.1 是不必要的,并且会增加出错的机会——相反,我们应该让 PHP 使用 http_response_code 函数自动确定协议。
另一个好处是,当从 PHP 手动发送标头时,我们可以最大程度地减少错误输入响应标头字段的风险。
要使用 PHP 发送 HTTP 响应代码,我们可以执行以下示例所示的操作:
http_response_code(200); echo '<p>Hallo World!</p>';
使用 PHP 发送原始 HTTP 标头
如果我们仍想发送原始标头,请务必使用如下函数来确定客户端使用的 HTTP 协议版本:
function set_protocol() { $supported_protocols = array( 'HTTP/2.0' => true, 'HTTP/1.1' => true, 'HTTP/1.0' => true, ); $protocol = $_SERVER["SERVER_PROTOCOL"]; if (!isset($supported_protocols["$protocol"])) { $protocol = 'HTTP/1.0'; } return $protocol; }
日期:2020-06-02 22:15:56 来源:oir作者:oir