ServerVariables [“HTTP_HOST”]和ServerVariables [“SERVER_NAME”]之间有什么区别?

时间:2011-05-23 08:32:00

标签: asp.net iis http-host server-name

我对这两个服务器变量之间的区别感到困惑。检查IIS文档,它指出: -

HTTP_HOST

  

返回Web服务器的名称。   这可能与也可能不同   SERVER_NAME取决于名称的类型   您在网络上使用的分辨率   服务器(IP地址,主机头)。

SERVER_NAME

  

服务器的主机名,DNS别名或   显示的IP地址   自引用网址。

有人可以举一些例子说明它们有什么不同吗?

我们的网络服务器场中有2个IIS网络服务器..每个网站都有2个网站(当然,每个服务器都相同)。

每个网站约有5个左右的绑定。

那么......价值观是什么?有什么区别?

3 个答案:

答案 0 :(得分:2)

刚刚发现在一个IIS托管的aspx页面中启用跟踪,SERVER_NAME只返回服务器名称,而HTTP_HOST返回servername:该站点运行的端口。启用跟踪集

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" Trace="true" %>

注意跟踪值

答案 1 :(得分:1)

我不了解ASP.NET,但在PHP中,$_SERVER['HTTP_HOST']是客户端在HTTP Host标头中发送的内容,而$_SERVER['SERVER_NAME']由Web服务器配置决定。

答案 2 :(得分:0)

HTTP_HOST是HTTP主机标头,可以通过DNS(将域和poit添加到服务器)或仅通过计算机上的HOSTS文件进行更改。

Windows上的SERVER_NAME是计算机名称。您可以通过右键单击My Computer(或Win10 +上的计算机)和属性来查看名称(或更改名称)。