今天突然想起每次请求 HTTP_HOST 和 SERVER_NAME 的值总是一样的,干嘛还有用两个名称,它们之间有什么区别呢?
网上也没有一个确定的说法,到Microsoft上找到了一个解释:
在Windows2000下SERVER_NAME等于HTTP_HOST
在Windows2003下
>> 下面的*号为Request.ServerVariables("APPL_MD_PATH") 请求的 /LM/W3SVC/*/ROOT
当在 CMD 下运行"CScript adsutil.vbs Set w3svc/*/UseHostName true"时
SERVER_NAME为Windows的计算机名
当在 CMD 下运行"CScript adsutil.vbs Set w3svc/*/UseHostName flase"时
SERVER_NAME等于HTTP_HOST
2007年6月26日补充:HTTP_HOST可以Request出非80的SERVER_PORT.
简单的说就是: HTTP_HOST = SERVER_NAME:SERVER_PORT