网上查询一些文章说HTTP_HOST和SERVER_NAME的区别是HTTP_HOST = SERVER_NAME : SERVER_PORT,完全不是这回事,这只是表象
HTTP_HOST实际上是你请浏览器地址栏里面的url里面的主机名那部分,SERVER_NAME是后端web service配置的server_name
比如说当你在nginx里面配置server_name www.demo.com; 如果正好这个站点时唯一的站点,你可以通过IP访问,结果就是:
HTTP_HOST:是IP地址
SERVER_NAME:www.demo.com
如果你SERVER_NAME配置的是泛域名,比如说*.demo.com,访问地址是http://www.demo.com/,那么结果就是:
HTTP_HOST:www.demo.com
SERVER_NAME:*.demo.com