【问题标题】:What's the difference between http://*:80 and http://+:80http://*:80 和 http://+:80 有什么区别
【发布时间】:2011-06-03 15:30:44
【问题描述】:

在了解Web Deploy 时,我遇到了一些涉及http://+:80 和http://*:80 的netsh.exe 命令。这些是什么意思?

【问题讨论】:

    标签: http netsh webdeploy


    【解决方案1】:

    引用自URLPrefix Strings (Windows):

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

    当星号 (*) 作为宿主元素出现时,UrlPrefix 属于弱通配符类别。这种 UrlPrefix 匹配与指定方案、端口和 relativeURI 关联的任何主机名,这些主机名尚未被强通配符、显式或 IP 绑定的弱通配符 UrlPrefix 匹配。 在某些情况下,此主机规范可用作默认的包罗万象,或者可用于指定大部分 URL 命名空间,而无需使用许多 UrlPrefix。

    之后的 :80 显示您访问与通配符字符串匹配的 URL 所通过的端口。 80 是用于访问普通网页的最常见(如果不是最常见的话)端口之一。

    【讨论】:

      【解决方案2】:

      简单来说,"*" 会在没有其他人处理的情况下处理请求,而 "+" 会处理请求,即使它已由任何其他处理程序处理。

      取自https://stackoverflow.com/a/9459679/6375269的一个很好的例子

      http://*:8080/:在端口 8080 上接收所有非 HTTP 请求 已经被其他一些 HttpListener 处理了。

      http://+:8080/: 在端口 8080 上接收所有 HTTP 请求,即使它们是 已由另一个 HttpListener 处理。

      【讨论】:

        猜你喜欢
        • 2018-08-10
        • 1970-01-01
        • 2015-02-09
        • 1970-01-01
        • 1970-01-01
        • 2011-10-23
        • 2016-02-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多