В чем разница между http://*:80 и http://+:80 - PullRequest
52 голосов
/ 04 января 2011

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

Ответы [ 2 ]

53 голосов
/ 05 января 2011

Как указано в URLPrefix Strings (Windows) :

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

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

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

6 голосов
/ 31 августа 2018

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

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

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

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

...