В чем разница между 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 будут одинаковыми.