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。