这两个前缀在HttpListener
或其他方面有什么区别?
http://+:8080/
http://*:8080/
http://*:8080/
:接收端口8080上的所有HTTP请求,这些请求不是已经由其他HttpListener
处理。
http://+:8080/
:接收端口8080上的所有HTTP请求,即使,如果它们已经由另一个HttpListener
处理。
除了@Paulpro的精彩答案外,@rownage发布的链接(见此答案)还提供了更多关于差异的信息:
强通配符(加号+)
当UrlPrefix的宿主元素由单个加号组成时(+),UrlPrefix与它的scheme、port和relativeURI元素,并且属于强通配符类别。
当应用程序需要提供服务时,强通配符非常有用寻址到一个或多个relativeURI的请求,无论如何这些请求到达计算机或它们指定的站点它们的主机标头。在这种情况下使用强通配符可以避免需要指定主机和/或IP地址的详尽列表。
弱通配符(星号*)
当星号(*)显示为主机时元素,则UrlPrefix属于弱通配符类别。这种UrlPrefix匹配与指定的方案、端口和relativeURI,但尚未由强通配符、显式或IP绑定的弱通配符匹配URL前缀。
在某些情况下,此主机规范可以用作默认的catch-all环境,或者可以用于指定URL的一大部分命名空间,而不必使用许多UrlPrefix。