在HTML中,若是想引用圖片,一般會使用相似如下的代碼: css
<img src="http://www.ludou.org/logo.png" alt="" />若是將以上代碼改爲這樣,你以爲圖片還能正常顯示嗎?
<img src="//www.ludou.org/logo.png" alt="" />
實際上這是可行的,省略URL的協議聲明,瀏覽器照樣能夠正常引用相應的資源,這項解決方案稱爲protocol-relative URL,暫且可譯做 協議相對 URL。那這麼寫有什麼好處呢? html
若是當前的頁面是經過HTTPS協議來瀏覽的,那麼網頁中的資源也只能經過HTTPS協議來引用,不然IE瀏覽中就會出現"頁面同時包含安全和非安全的項目"的警告信息: jquery
若是使用協議相對 URL,不管你是使用HTTPS,仍是HTTP訪問頁面,瀏覽器都會以與你相同的協議請求頁面中的資源,避免彈出這樣的警告信息,同時能夠節省5字節的數據量,何樂而不爲呢?維基百科也全面啓用了這項技術,能夠看看他們的網頁源代碼。 ajax
一樣,只要涉及到連接,咱們均可以使用協議相對 URL: api
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.js"></script> <link rel="stylesheet" href="//www.ludou.org/style.css" /> <a href="//www.ludou.org/">Ludou</a>咱們也能夠在css中使用協議相對 URL:
.logo { background: url(//www.ludou.org/logo.png); }須要注意的是:在IE7 / IE8中,使用 <link> 或者 @import 來引用樣式表時,會出現樣式表文件被下載兩次的狀況。除了這點,協議相對 URL都是能夠正常工做的。
參考資料
The protocol-relative URL
Why you need protocol-relative URLs *now* 瀏覽器