В чем разница между 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:
<?phpecho $_SERVER["SERVER_NAME"];?> |
Выход:
Отображает имя сервера.
Примечание. В случае localhost имена HOST и SERVER будут одинаковыми.