9

HttpListener这两个前缀在或其他方面有什么区别?

http://+:8080/

http://*:8080/
4

2 回答 2

15

http://*:8080/: 在端口 8080 上接收所有尚未被其他人处理的HTTP 请求HttpListener

http://+:8080/: 在端口 8080 上接收所有 HTTP 请求,即使它们已经被另一个HttpListener.

于 2012-02-27T03:27:42.957 回答
1

除了@Paulpro 的出色答案之外,@rownage发布的链接(请参阅此答案)提供了有关差异的更多信息:

强通配符(加号 +)

当 UrlPrefix 的主机元素由单个加号 (+) 组成时,UrlPrefix 匹配其方案、端口和 relativeURI 元素上下文中所有可能的主机名,并属于强通配符类别。

当应用程序需要为发送到一个或多个 relativeURI 的请求提供服务时,强通配符很有用,而不管这些请求如何到达计算机或它们在其 Host 标头中指定的站点。在这种情况下使用强通配符可以避免指定详尽的主机和/或 IP 地址列表。

弱通配符(星号 *)

当星号 (*) 作为宿主元素出现时,UrlPrefix 属于弱通配符类别。这种 UrlPrefix 匹配与指定方案、端口和 relativeURI 关联的任何主机名,这些主机名尚未被强通配符、显式或 IP 绑定的弱通配符 UrlPrefix 匹配。

在某些情况下,此主机规范可用作默认的包罗万象,或者可用于指定大部分 URL 命名空间,而无需使用许多 UrlPrefix。

于 2015-01-22T13:08:24.507 回答