问题
I saw the //somepage.com/resource
url format. For example:
<img src=\"//remotesite.com/image1.jpg\" />
The point of this is that if the current page (the page defining the img
tag) is using http
, then the request to the remote site is made via http. If it is https - it\'s https. This eliminates browser warnings of not fully encrypted pages.
My question is - is this URL format safe to use for all browsers. And is it a standard?
回答1:
is this URL format safe to use for all browsers.
I can't say anything for sure, but you should be able to test it in different browsers.
And is it a standard?
Technically, it is called "network path reference" according to RFC 3986. Here is the scheme for it:
relative-ref = relative-part [ "?" query ] [ "#" fragment ]
relative-part = "//" authority path-abempty
/ path-absolute
/ path-noscheme
/ path-empty
There is a problem though, when used on a <link>
or @import
, IE7 and IE8 download the file.
Here is a post written by Paul Irish on the subject:
- The protocol-relative URL
回答2:
Yes I believe it is. Paul Irish coined the term Protocol Relative URL.
I'd also point out it's part of the HTML5Boilerplate project which evangelises cross browser compatibility.
Note: there is an edge case in IE6 with google analytics which is mentioned in Paul's article. So it's not perfect.
回答3:
Should be safe.
Is specified as format to use in Google's HTML/CSS styleguide: EDIT: latest url : https://google.github.io/styleguide/htmlcssguide.xml#Protocol
来源:https://stackoverflow.com/questions/4978235/absolute-urls-omitting-the-protocol-scheme-in-order-to-preserve-the-one-of-the