HttpWebRequest.Host 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置要在独立于请求 URI 的 HTTP 请求中使用的主机标头值。
public:
property System::String ^ Host { System::String ^ get(); void set(System::String ^ value); };
public string Host { get; set; }
member this.Host : string with get, set
Public Property Host As String
属性值
HTTP 请求中的 Host 标头值。
例外
主机标头不能设置为 null。
主机标头不能设置为无效值。
在开始发送 HttpWebRequest 后,无法设置主机标头。
注解
谨慎
WebRequest、HttpWebRequest、ServicePoint和 WebClient 已过时,不应将其用于新开发。 请改用 HttpClient。
Host 属性可用于设置主机标头值,以在独立于请求 URI 的 HTTP 请求中使用。 Host 属性可以包含主机名和可选端口号。 没有端口信息的主机标头表示请求的服务的默认端口(例如 HTTP URL 的端口 80)。
指定主机和端口的格式必须遵循 IETF 发布的RFC2616第 14.23 节中的规则。 符合这些要求的示例指定端口 8080 将是 Host 属性的以下值:
www.contoso.com:8080
使用 Host 属性显式指定自定义主机标头值还会影响区域缓存、Cookie 和身份验证。 当应用程序提供特定 URI 前缀的凭据时,应用程序需要确保使用包含主机标头值的 URI,而不是 URI 中的目标服务器。 缓存资源时使用的密钥,使用主机标头值而不是请求 URI。 Cookie 存储在 CookieContainer 中,逻辑上按服务器域名分组。 如果应用程序指定了主机标头,则此值将用作域。
如果未设置 Host 属性,则要在 HTTP 请求中使用的主机标头值基于请求 URI。