Как определить, какую версию HTTP поддерживает пользовательский агент, используя PHP? - PullRequest
2 голосов
/ 21 ноября 2010

Извините, если этот вопрос для некоторых из вас кажется базовым, но мои знания в области программирования оставляют желать лучшего, если не сказать больше!

Что я хотел бы знать, так это: Когда запроссделано для моего веб-сервера, как мне определить версию HTTP, которую поддерживает запрашивающий пользовательский агент (то есть HTTP / 1.0 или HTTP / 1.1)?Серверный язык сценариев, который использует мой сервер, - это версия PHP 5.2.

По сути, я хотел бы использовать PHP для чего-то вроде этого:

if(/* user agent is currently using HTTP/1.1 */) {
 // do this...
}
else {
 // do something else...
}

Буду очень признателен, есликто-то может указать мне правильное направление.Заранее спасибо!

Ответы [ 3 ]

5 голосов
/ 21 ноября 2010

Суперглобальная переменная $_SERVER обычно содержит такую ​​информацию. В этом случае вас интересует запись SERVER_PROTOCOL:

if($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1'){
    // Client is using HTTP/1.1
} else {
    // Client is using a different protocol (likely HTTP/1.0)
}
2 голосов
/ 21 ноября 2010

$_SERVER['SERVER_PROTOCOL'] будет иметь версию HTTP, по которой запрашивалась страница. ссылка .

2 голосов
/ 21 ноября 2010

Вы можете использовать $_SERVER['SERVER_PROTOCOL']:

'SERVER_PROTOCOL'
Имя и версия информационного протокола, по которому запрашивалась страница;то есть «HTTP / 1.0»;

...