Why using href="// instead of href="http:// in HTML? [duplicate]
Asked Answered
F

2

8

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://?

Fibril answered 22/1, 2014 at 20:14 Comment(1)
#4978735Worriment
I
9

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.

Itinerant answered 22/1, 2014 at 20:25 Comment(2)
"This will prevent browser warnings" if the destination host is also configured to correctly serve the resource via SSL. If it's not, then the behaviors range from timeouts to SSL certificate warnings to 404s.Candidacandidacy
This will only work if the domain of the resource supports the same protocol as the hosting page is being accessed under.Itinerant
L
5

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)

Lasalle answered 22/1, 2014 at 20:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.