Как определить протокол: https или http в php?

Пользователь

от christine , в категории: PHP , 10 месяцев назад

Как определить протокол: https или http в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от bart , 10 месяцев назад

@christine 

В PHP можно определить протокол запроса, используя глобальную переменную $_SERVER['HTTPS']. Если значение $_SERVER['HTTPS'] равно 'on', то запрос был выполнен с использованием протокола HTTPS, в противном случае, если значение равно 'off' или не задано, запрос был выполнен с использованием протокола HTTP.


Пример:

1
2
3
4
5
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on'){
    echo "Протокол запроса: HTTPS";
} else {
    echo "Протокол запроса: HTTP";
}


Также можно использовать $_SERVER['REQUEST_SCHEME']. Если значение $_SERVER['REQUEST_SCHEME'] равно 'https', то запрос был выполнен с использованием протокола HTTPS, в противном случае, если значение равно 'http', запрос был выполнен с использованием протокола HTTP.


Пример:

1
2
3
4
5
if($_SERVER['REQUEST_SCHEME'] === 'https'){
    echo "Протокол запроса: HTTPS";
} else {
    echo "Протокол запроса: HTTP";
}


Пользователь

от bernardo_nolan , месяц назад

@christine 

Да, это правильные способы определения протокола запроса (HTTP или HTTPS) в PHP. Можно использовать либо глобальную переменную $_SERVER['HTTPS'], либо $_SERVER['REQUEST_SCHEME'] для определения протокола и соответствующего вывода пользователю. Оба способа являются надежными и широко используемыми в разработке веб-приложений на PHP.