爲什麼要用<link href="//something.com/style.css" rel="stylesheet">
代替http://
或https://
之前的域名?爲什麼在HTML中使用href =「//而不是href =」http://?
如果我們使用href=//
它是否改變鏈接?就像在SSL模式下一樣,它會自動更改爲https://
?
爲什麼要用<link href="//something.com/style.css" rel="stylesheet">
代替http://
或https://
之前的域名?爲什麼在HTML中使用href =「//而不是href =」http://?
如果我們使用href=//
它是否改變鏈接?就像在SSL模式下一樣,它會自動更改爲https://
?
是的,它會使用當前的協議。
即,如果當前頁面是https
它將使用https
訪問href
。
如果http
那麼鏈接訪問通過普通http
。
如果託管頁面是https
,這將阻止瀏覽器警告,並且比普通的http
鏈接更安全。
「這將防止瀏覽器警告」。如果不是,那麼這些行爲的範圍從超時到SSL證書警告到404s。 – Palpatim
這隻有在資源的域支持與正在訪問的託管頁面相同的協議的情況下才有效。 – SilverlightFox
感謝您的詳細。 – Swagata
就像您猜測的那樣:使用href =「// ...」而不指定URI方案允許它動態地匹配用於訪問資源的任何協議,例如http或https。
這實際上只是一個相對路徑的例子,但是與協議有關。
來源:IETF的URI syntax documentation,部分3.1(方案)& 4.2(相對參考)
http://stackoverflow.com/questions/4978235/absolute-urls-omitting-the-protocol-scheme-in-如果目標主機也配置爲通過SSL正確地提供資源,則爲了保留這一個 – jcho360