What is the difference between HTTP_HOST and SERVER_NAME in PHP?
HTTP_HOST: It is fetched from HTTP request header obtained from the client request
Website: http://www.geeksforgeeks.org HTTP_HOST: www.geeksforgeeks.org
HTTP_SERVER: It is fetched from the server name based on the host configuration.
Website: http://www.geeksforgeeks.org HTTP_SERVER: Display the server 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:8080||Example: 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|
Example of HTTP_HOST:
It display the host name.
Example of HTTP_SERVER:
It display the server name.
Note: In case of localhost, HOST and SERVER name both will same.