Skip to content
Related Articles

Related Articles

Improve Article

What is the difference between HTTP_HOST and SERVER_NAME in PHP?

  • Last Updated : 05 Nov, 2018

HTTP_HOST: It is fetched from HTTP request header obtained from the client request

Example:

Website: http://www.geeksforgeeks.org
HTTP_HOST: www.geeksforgeeks.org

HTTP_SERVER: It is fetched from the server name based on the host configuration.

Example:

Website: http://www.geeksforgeeks.org
HTTP_SERVER: Display the server name
HTTP_HOSTSERVER_NAME
It retrieve the request header from the client.It retrieve the server configuration.
It is not reliable since its value can be modified.It is more reliable as its value comes from sever configuration.
Syntax: $_SERVER[‘HTTP_HOST’]Syntax: $_SERVER[‘SERVER_NAME’]
It gives the domain name of the host where the request is fulfilled.It gives the server name specified in host configuration.
Example: localhost:8080Example: www.google.com
It is based on request from client.It is based on configuration of web server.
As it is directly related to request so it is used in most of the applications.It does not give any information about the request at all.
It is taken from the target host.It is taken from server configuration.
It is client controlled value.It is server controlled value
http://www.google.com
HTTP_HOST: www.google.com
http://www.google.com
HTTP_SERVER: google.com

Example of HTTP_HOST:






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

Output:

It display the host name.

Example of HTTP_SERVER:




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

Output:

It display the server name.

Note: In case of localhost, HOST and SERVER name both will same.

My Personal Notes arrow_drop_up
Recommended Articles
Page :