Why using href="// instead of href="http:// in HTML?

11.2k views Asked by At

Why using <link href="//something.com/style.css" rel="stylesheet"> instead of using http:// or https:// before the domain name?

If we use href=// does it changes with link? Like while in SSL mode will it automatically be changed to https://?

2

There are 2 answers

2
SilverlightFox On BEST ANSWER

Yes, it will use the current protocol.

i.e. if the current page is https it will access the href using https.

If http then the link is accessed over plain http.

This will prevent browser warnings if the hosting page is https and will be more secure than a plain http link.

0
brittlewis12 On

It's just as you guess: using href="//..." without specifying the URI scheme allows it to dynamically match whichever protocol was used to access the resource, for example http or https.

It's really just an example of a relative path, but one that is relative to the protocol.

Source: the IETF's URI syntax documentation, sections 3.1 (Scheme) & 4.2 (relative reference)