В чем разница между HTTP_HOST и SERVER_NAME в PHP?

Опубликовано: 4 Февраля, 2022

HTTP_HOST: извлекается из заголовка HTTP-запроса, полученного из клиентского запроса.

Пример:

Сайт: http://www.geeksforgeeks.org
HTTP_HOST: www.geeksforgeeks.org

HTTP_SERVER: извлекается из имени сервера в зависимости от конфигурации хоста.

Пример:

Сайт: http://www.geeksforgeeks.org
HTTP_SERVER: отображение имени сервера
HTTP_HOST НАЗВАНИЕ СЕРВЕРА
Он получает заголовок запроса от клиента. Он получает конфигурацию сервера.
Это ненадежно, поскольку его значение можно изменить. Он более надежен, так как его ценность зависит от конфигурации.
Синтаксис: $ _SERVER ['HTTP_HOST'] Синтаксис: $ _SERVER ['SERVER_NAME']
Он дает доменное имя хоста, на котором выполняется запрос. Он дает имя сервера, указанное в конфигурации хоста.
Пример: localhost: 8080 Пример: www.google.com
Это основано на запросе клиента. Он основан на конфигурации веб-сервера.
Поскольку он напрямую связан с запросом, он используется в большинстве приложений. Он вообще не дает никакой информации о запросе.
Берется с целевого хоста. Берется из конфигурации сервера.
Это ценность, контролируемая клиентом. Это значение, контролируемое сервером
http://www.google.com
HTTP_HOST: www.google.com
http://www.google.com
HTTP_SERVER: google.com

Пример HTTP_HOST:

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

Выход:

 Отображает имя хоста.

Example of HTTP_SERVER:

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

Выход:

 Отображает имя сервера.

Примечание. В случае localhost имена HOST и SERVER будут одинаковыми.