Difference between REMOTE_HOST and REMOTE_ADDR Difference between REMOTE_HOST and REMOTE_ADDR apache apache

Difference between REMOTE_HOST and REMOTE_ADDR


REMOTE_HOST pertains to the hostname of the client (i.e. the computer making the request). REMOTE_ADDR refers to the IP address of the client.

There would be times when the hostname is unresolvable so the REMOTE_HOST will return the REMOTE_ADDR or the IP address instead.


1. $_SERVER['REMOTE_ADDR'] -This contains the real IP address of the client. That is the most reliable value you can find from the user.

2. $_SERVER['REMOTE_HOST'] -This will fetch the Host name from which the user is viewing the current page.But for this script to work, Hostname Lookups On inside httpd.conf must be configured.


From RFC-3875

  • REMOTE_ADDR:The REMOTE_ADDR variable MUST be set to the network address of theclient sending the request to the server.
      REMOTE_ADDR  = hostnumber      hostnumber   = ipv4-address | ipv6-address      ipv4-address = 1*3digit "." 1*3digit "." 1*3digit "." 1*3digit      ipv6-address = hexpart [ ":" ipv4-address ]      hexpart      = hexseq | ( [ hexseq ] "::" [ hexseq ] )      hexseq       = 1*4hex *( ":" 1*4hex )
  • REMOTE_HOST:The REMOTE_HOST variable contains the fully qualified domain name ofthe client sending the request to the server, if available, otherwiseNULL. Fully qualified domain names take the form as described insection 3.5 of RFC 1034 [17] and section 2.1 of RFC 1123 [12].Domain names are not case sensitive.
The REMOTE_HOST variable contains the fully qualified domain name of   the client sending the request to the server, if available, otherwise   NULL.  Fully qualified domain names take the form as described in   section 3.5 of RFC 1034 [17] and section 2.1 of RFC 1123 [12].   Domain names are not case sensitive.      REMOTE_HOST   = "" | hostname | hostnumber      hostname      = *( domainlabel "." ) toplabel [ "." ]      domainlabel   = alphanum [ *alphahypdigit alphanum ]      toplabel      = alpha [ *alphahypdigit alphanum ]      alphahypdigit = alphanum | "-"