当客户端使用HTTP / 1.1时,为什么$ _SERVER [“SERVER_PROTOCOL”]显示HTTP / 1.0

时间:2013-07-14 15:39:37

标签: php apache http nginx

我正在尝试了解用户用于连接到我的服务器的HTTP版本。 http://test.yccau.com(PHP 5.3.26和Apache 2.2.24)的代码如下所示:

<?php
    echo $_SERVER["SERVER_PROTOCOL"];
?>

出于某种原因,即使请求和回复都是HTTP/1.0,该页面也会显示HTTP/1.1

enter image description here

可能导致问题的原因是什么?我们如何获得Web客户端用于连接服务器的HTTP版本?

1 个答案:

答案 0 :(得分:3)

有趣的问题!这里有两个连接,因为它们之间有一个端点代理。您的nginx版本到apache的请求将通过HTTP 1.0传递。

CLIENT <---- (HTTP 1.1) ----> NGINX <----- (HTTP 1.0) ----> SERVER

Nginx 1.1.4 onwards支持HTTP 1.1到上游服务器。