Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does a plus sign mean in a http url? -> http://+:80 [duplicate]

Tags:

.net

http

wcf

netsh

Possible Duplicate:
What's the difference between *:80 and +:80

What does the plus sign excatly mean here:

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

Whats the difference between using a star (*) and plus (+) ?

like image 603
Andreas Zita Avatar asked Aug 10 '11 08:08

Andreas Zita


2 Answers

According to the MSDN documentation, there isn't any difference except for the order in which the two are interpreted.

For flexibility and ease of use, the HTTP Server API supports four different ways to specify hosts. The four host-specifier categories are listed below in order of precedence:

Strong wildcard (Plus Sign)

When the host element of a UrlPrefix consists of a single plus sign (+), the UrlPrefix matches all possible host names in the context of its scheme, port and relativeURI elements, and falls into the strong wildcard category.

A strong wildcard is useful when an application needs to serve requests addressed to one or more relativeURIs, regardless of how those requests arrive on the machine or what site they specify in their Host headers. Use of a strong wildcard in this situation avoids the need to specify an exhaustive list of host and/or IP-addresses.

Explicit

An explicit host name such as a fully qualified domain name in the host element places a UrlPrefix in the explicit category. This kind of host element is matched directly against the Host headers of incoming requests.

Explicit host specifications are useful for multi-site applications such as Web servers that deliver different content depending on the site to which the request was directed.

IP-bound weak wildcard

When an IP address appears as the host element, then the UrlPrefix falls into the IP-bound Weak Wildcard category. This kind of UrlPrefix matches any host name for the specified IP interface with the specified scheme, port and relativeURI, and that has not already been matched by a strong-wildcard or explicit UrlPrefix. The IP address takes one of two forms in the host element:

IPv4 Literal String

An IPv4 literal consists of four dotted decimal numbers, each in the range 0-255, such as 192.168.0.0.

IPv6 Literal String

An IPv6 literal string is enclosed in square brackets and contains hex numbers separated by colons; for example: [::1] or [3ffe:ffff::6ECB:0101].

IP-bound weak-wildcard host specifiers are intended for applications that vary the content they serve based on the route taken by incoming requests. Do not rely on IP-bound weak-wildcard host specifiers to enforce security.

Weak wildcard (asterisk)

When an asterisk (*) appears as the host element, then the UrlPrefix falls into the weak wildcard category. This kind of UrlPrefix matches any host name associated with the specified scheme, port and relativeURI that has not already been matched by a strong-wildcard, explicit, or IP-bound weak-wildcard UrlPrefix.

This host specification can be used as a default catch-all in some circumstances, or can be used to specify a large section of URL namespace without having to use many UrlPrefixes.

like image 123
foxy Avatar answered Sep 30 '22 22:09

foxy


You can find the definition here: UrlPrefix Strings

For the +

Strong wildcard (Plus Sign)

When the host element of a UrlPrefix consists of a single plus sign (+), the UrlPrefix matches all possible host names in the context of its scheme, port and relativeURI elements, and falls into the strong wildcard category.

A strong wildcard is useful when an application needs to serve requests addressed to one or more relativeURIs, regardless of how those requests arrive on the machine or what site they specify in their Host headers. Use of a strong wildcard in this situation avoids the need to specify an exhaustive list of host and/or IP-addresses.

And for the *

Weak wildcard (asterisk)

When an asterisk (*) appears as the host element, then the UrlPrefix falls into the weak wildcard category. This kind of UrlPrefix matches any host name associated with the specified scheme, port and relativeURI that has not already been matched by a strong-wildcard, explicit, or IP-bound weak-wildcard UrlPrefix.

This host specification can be used as a default catch-all in some circumstances, or can be used to specify a large section of URL namespace without having to use many UrlPrefixes.

like image 6
Simon Mourier Avatar answered Oct 01 '22 00:10

Simon Mourier