2013-07-14 56 views
3

我正在嘗試瞭解用戶用於連接到我的服務器的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版本?

+0

也許你正在使用php v5.2或更低版本 – 2013-07-14 15:42:55

+0

@user爲什麼這是相關的,它是舊的PHP版本中的已知錯誤?你能詳細說明嗎?也許發佈一個鏈接? –

+0

@ user2511414 PHP版本如何影響HTTP協議 – samayo

回答

3

有趣的問題!您在這裏有兩個連接,因爲您之間有一個端點代理。從您的nginx版本到apache的請求正在通過HTTP 1.0。

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

1.1.4 onwards Nginx的支持HTTP 1.1上游服務器。

+0

有什麼方法可以獲取有關直接用戶連接的信息? – Pacerier

+0

什麼樣的信息?它受你控制嗎?如果是這樣你可以升級... – jman

+0

如果Nginx是作爲代理,你的意思是REMOTE_PORT/REMOTE_USER/REMOTE_ADDR給出不正確的值? – Pacerier

相關問題