HttpListener
这两个前缀在或其他方面有什么区别?
http://+:8080/
http://*:8080/
http://*:8080/
: 在端口 8080 上接收所有尚未被其他人处理的HTTP 请求HttpListener
。
http://+:8080/
: 在端口 8080 上接收所有 HTTP 请求,即使它们已经被另一个HttpListener
.
除了@Paulpro 的出色答案之外,@rownage发布的链接(请参阅此答案)提供了有关差异的更多信息:
强通配符(加号 +)
当 UrlPrefix 的主机元素由单个加号 (+) 组成时,UrlPrefix 匹配其方案、端口和 relativeURI 元素上下文中所有可能的主机名,并属于强通配符类别。
当应用程序需要为发送到一个或多个 relativeURI 的请求提供服务时,强通配符很有用,而不管这些请求如何到达计算机或它们在其 Host 标头中指定的站点。在这种情况下使用强通配符可以避免指定详尽的主机和/或 IP 地址列表。
弱通配符(星号 *)
当星号 (*) 作为宿主元素出现时,UrlPrefix 属于弱通配符类别。这种 UrlPrefix 匹配与指定方案、端口和 relativeURI 关联的任何主机名,这些主机名尚未被强通配符、显式或 IP 绑定的弱通配符 UrlPrefix 匹配。
在某些情况下,此主机规范可用作默认的包罗万象,或者可用于指定大部分 URL 命名空间,而无需使用许多 UrlPrefix。