Как узнать, была ли доступна страница php через http или https?
PHP: HTTP или HTTPS?
Ответ 1
Если запрос был отправлен с помощью HTTPS, у вас будет дополнительный параметр в $_ SERVER superglobal - $_SERVER ['HTTPS']. Вы можете проверить, установлено ли оно или нет.
if( isset($_SERVER['HTTPS'] ) ) {
Ответ 2
Если ваш запрос отправлен HTTPS, у вас будет дополнительная серверная переменная с именем "HTTPS"
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { //HTTPS }
Ответ 3
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'?'https':'http';
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
Они должны работать
Ответ 4
Это может усложниться в зависимости от того, где PHP находится в вашей среде, так как ваш вопрос довольно широк. Это может зависеть от того, есть ли балансировка нагрузки и как она настроена. Вот несколько связанных вопросов:
Ответ 5
$_SERVER['HTTPS']
Это будет содержать "непустое" значение, если запрос был отправлен через HTTPS
Ответ 6
Вы должны сделать это, проверив значение $_SERVER['HTTPS']
(его следует устанавливать только при использовании https).