В чем разница между http://*: 80 и http://+: 80

узнать Web Deploy я наткнулся на некоторые команды netsh.exe команды, которые говорят о http://+: 80 и http://*: 80. Что это значит?

2 ответов


со слов Строки URLPrefix (Windows):

когда элемент узла UrlPrefix состоит из одного знака плюс ( + ), UrlPrefix соответствует всем возможным именам узлов в контексте его схемы, порта и элементов relativeURI и попадает в сильную категорию подстановочных знаков.

когда звездочка ( * ) появляется в качестве элемента host, то UrlPrefix попадает в категорию слабых подстановочных знаков. Этот вид UrlPrefix соответствует любому имени хоста связанный с указанной схемой, портом и relativeURI, который еще не был сопоставлен сильным подстановочным знаком, явным или IP-привязанным слабым подстановочным UrlPrefix. Эта спецификация хоста может использоваться как catch-all по умолчанию в некоторых случаях или может использоваться для указания большого раздела пространства имен URL без необходимости использования многих UrlPrefixes.

в :80 потом показывает порт, через который вы получаете доступ к URL, который соответствует шаблону. 80-один из самых (если не самый) общий порт, используемый для доступа к обычным веб-страницам.


в нескольких основных словах,"*" обрабатывает запросы, если никто не сделал и "+" обрабатывает запросы, даже если он был обработан любым другим обработчиком.

хороший пример взят из https://stackoverflow.com/a/9459679/6375269

http://*:8080/: получать все HTTP-запросы на порт 8080, которые не являются уже обрабатывается каким-то другим HttpListener.

http://+: 8080/: получить все HTTP запросы на порт 8080, даже если они уже обработан другим HttpListener.