简单的来说,HTTP_HOST 是变化的,而 SERVER_NAME 只有一个。 比如,你现在机器上的一个网站 http://www.w3h5.com ,这个网站也可以通过 http://localhost 来访问,指向同一个目录。 如果你在浏览器用 http://localhost 访问,则 HTTP_HOST 的值为 localhost ,而你用 www.w3h5.com 访问,HTTP_HOST 的值就是...
不同点: 通常情况: _SERVER[“HTTP_HOST”] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。 _SERVER[“SERVER_NAME”] 默认情况下直接输出apache的配置文件httpd.conf中的ServerName值。 当服务器为非80端口时: _SERVER[“HTTP_HOST”] 会输出端口号,例如:mimiz.cn:8080 _SERVER[“SERVER_NAME”] ...
_SERVER["HTTP_HOST"] 会输出端口号,例如:mimiz.cn:8080 _SERVER["SERVER_NAME"] 会直接输出ServerName值 因此在这种情况下,可以理解为:HTTP_HOST = SERVER_NAME : SERVER_PORT 3. 当配置文件httpd.conf中的ServerName与HTTP/1.0请求的域名不一致时: httpd.conf配置如下: <virtualhost *> ServerName mimiz.c...
_SERVER["HTTP_HOST"] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。 _SERVER["SERVER_NAME"] 默认情况下直接输出apache/nginx的配置文件httpd.conf中的ServerName值。 2. 当服务器为非80端口时: _SERVER["HTTP_HOST"] 会输出端口号,例如:mimiz.cn:8080 _SERVER["SERVER_NAME"] 会直接输出ServerN...
使用$_SERVER['HTTP_HOST']时需注意的 在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。 $_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。 究其原因,是因为,客户的公司通过一台服务器连接至因特网,而我们的程序所在的服务器,是通过...
使用$_SERVER['HTTP_HOST']时需注意的,在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。$_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。究其原因,是因为,客户的公司通过一台服务器连接至因特网,
3. HTTP/1.1协议规范 不同点: 1. 通常情况: _SERVER["HTTP_HOST"] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。 _SERVER["SERVER_NAME"] 默认情况下直接输出apache的配置文件httpd.conf中的ServerName值。 2. 当服务器为非80端口时:
PHP的SERVER保留变量中HTTP_HOST和SERVER_NAME经常是一样的,原因是服务器端口是80,那么HTTP_HOST将省略不显示,而HTTP服务的默认端口就是80,所以大多数情况下,HTTP_HOST都没有显示这个端口号。而如果使用的是ssl链接,那么端口号将被显示出来。 所以HTTP_HOST = SERVER_NAME:SERVER_PORT ...
$x = $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]; 但是将这些值结合起来是没有意义的。 HTTP_HOST是域名(当前http服务器的) REQUEST_URI来自浏览器地址栏的 URL。 每个选项卡(请求)代表它自己的,因此变量在每个选项卡上都有自己的内容。如果请求也是相同的,它可能是相同的。 你不会得到任何摘要。 PH...
$_SERVER['HTTP_HOST'] 基于客户的要求。 因此,在我看来,为了使我的脚本尽可能兼容而使用的正确方法是$_SERVER['HTTP_HOST']。这个假设是否正确? 后续评论: 我想在读完这篇文章之后我有点偏执,并注意到有些人说“他们不会相信任何一个$_SERVER变种”: http://markjaquith.wordpress.com/2009/09/21/php-se...