真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

https中使用//代替http://有哪些好處-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“https中使用//代替http://有哪些好處”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“https中使用//代替http://有哪些好處”這篇文章吧。

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)絡(luò)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、石龍網(wǎng)站維護(hù)、網(wǎng)站推廣。

//缺省協(xié)議

/缺省協(xié)議的使用,代表資源訪(fǎng)問(wèn)的協(xié)議和當(dāng)前頁(yè)面保持一致,如果當(dāng)前頁(yè)面是http ,采用http協(xié)議訪(fǎng)問(wèn),如果是https,則使用 https 協(xié)議訪(fǎng)問(wèn)。這樣用就不管是http還是升級(jí)到https都不用改動(dòng)代碼,現(xiàn)在很多CDN資源都是這樣引用。一般使用在內(nèi)鏈中,外鏈的協(xié)議頭具有不確定性的原因。

//的含義?

//是缺省協(xié)議的寫(xiě)法,例如

//jb51.net/css/

缺省協(xié)議默認(rèn)使用當(dāng)前協(xié)議

當(dāng)前頁(yè)面為HTTP時(shí),等效

http://jb51.net/css/

當(dāng)前頁(yè)面為HTTPS時(shí),等效

https://jb51.net/css/

使用 // 代替 http:// 的條件和好處?

當(dāng)前頁(yè)面和目標(biāo)資源同時(shí)支持HTTP和HTTPS正在從http升級(jí)到https

這樣的好處就是能根據(jù)用戶(hù)打開(kāi)頁(yè)面的方式自適應(yīng)的選擇資源的請(qǐng)求協(xié)議,

對(duì)于https頁(yè)面的內(nèi)容,瀏覽器默認(rèn)會(huì)組織非https內(nèi)容,可以避免這種情況

// 缺點(diǎn)

直接打開(kāi)本地文件調(diào)試時(shí),使用的協(xié)議是文件協(xié)議(file://)

這個(gè)時(shí)候這個(gè)協(xié)議會(huì)變成 file://jb51.net/css/顯然是不存在的

與當(dāng)前網(wǎng)站的協(xié)議保持一致,快速發(fā)布與你當(dāng)前協(xié)議相匹配的版本,同時(shí)減少SSL或其它協(xié)議版本的部署成本。開(kāi)發(fā)者不需要管服務(wù)器云端提供什么協(xié)議,只要用//符號(hào)來(lái)代表一切最適應(yīng)的匹配,這和nodeJS的思維是一脈相承的。

優(yōu)點(diǎn)如下:

因?yàn)楹芏嗑W(wǎng)站都將http升級(jí)為https,這樣就可以防止我們的網(wǎng)址被劫持,前期為了在轉(zhuǎn)換過(guò)程中我出差錯(cuò)我們沒(méi)有強(qiáng)制跳轉(zhuǎn),就是當(dāng)用戶(hù)訪(fǎng)問(wèn)http或https都可以正常訪(fǎng)問(wèn),那么里面的js,圖片,鏈接等都不能用https或http,那么有什么解決方法呢,那么解決方法來(lái)了就是用//,不要帶http:與https這樣就可以了。

//這種寫(xiě)法是根據(jù)你請(qǐng)求的協(xié)議自動(dòng)添加協(xié)議的。舉個(gè)栗子:你的網(wǎng)站是http協(xié)議,那么其實(shí)你訪(fǎng)問(wèn)的就是http://xxxx 如果你的網(wǎng)站是https協(xié)議的,那么請(qǐng)求的地址會(huì)變成https://xxxx 要知道,如果你寫(xiě)成了http://xxx. 那么如果你們的網(wǎng)站線(xiàn)上是https,那么可能會(huì)報(bào)安全警告,有的瀏覽器甚至沒(méi)法正常加載頁(yè)面。如果你直接寫(xiě)成https,要知道,本地開(kāi)發(fā)可是http啊...

下面的內(nèi)容是來(lái)自知乎的一些經(jīng)典回復(fù)

好處很多人都答過(guò)了。升級(jí) https 當(dāng)然最能感受到這種好處。我只是補(bǔ)充一個(gè)為什么前人不這么寫(xiě)的理由。當(dāng)然,確實(shí)有很多前端并不知道這種寫(xiě)法。不過(guò),就算知道也很可能無(wú)法這么寫(xiě)。因?yàn)?UC 瀏覽器的許多較早版本不支持這種寫(xiě)法,會(huì)把 //a.b/ 直接理解為 /a.b/,也就是說(shuō),如果你在 /tupian/20230522/example.com 的頁(yè)面里寫(xiě)了 //example-cdn.net/static-file 的地址,UC 實(shí)際訪(fǎng)問(wèn)的是 /tupian/20230522/example.com/example-cdn.net/static-file 。UC 過(guò)去的市占率大家是知道的。所以……

一看你就沒(méi)做過(guò)「全站 HTTPS 升級(jí)改造」。我給全站做 HTTPS 升級(jí)的時(shí)候,真的想把寫(xiě) http:// 的人砍死。尤其是數(shù)據(jù)庫(kù)里的鏈接和 JS 里拼接出來(lái)的 url。期間用了各種正則,還要人工核查。奈何寫(xiě) http:// 的程序員太多,只能作罷。有人還在評(píng)論里問(wèn)原因,原因就是如果你全寫(xiě) //,我就不用改造數(shù)據(jù)庫(kù)里的數(shù)據(jù)和源碼了,直接升級(jí) https 就行了。你可能會(huì)說(shuō) https 改造這種事情很少發(fā)生吧,巧了,我在騰訊和阿里都遇到了 https 改造 ?_? 而且在阿里的時(shí)候我要負(fù)責(zé) 1688 整站(個(gè)別部門(mén)自行改造)的前端代碼改造(不只是 HTML,還有 CSS 、JS、Velocity 模板等!簡(jiǎn)直就是臟活累活,我 TM 為什么要接這個(gè)活兒),你猜我罵寫(xiě) http:// 的人罵了多少次?有的前端還直接在 JS 里寫(xiě) http,沿用一下當(dāng)前頁(yè)面的協(xié)議你會(huì)死?。?/p>

還有的前端用正則判斷 url 時(shí)居然只接受 http:// 和 https:// 不接受 //,真的是沒(méi)常識(shí)。太多程序員,太智障了。也有可能是因?yàn)樗麄儧](méi)聽(tīng)說(shuō)過(guò) HTTPS 而已。如果你還不懂,我就問(wèn)你幾個(gè)問(wèn)題:如果你用 http:// ,那你就是默認(rèn)當(dāng)前頁(yè)面是 http 協(xié)議了,你一個(gè)前端憑什么決定當(dāng)前頁(yè)面的協(xié)議?難道你不知道 http 鏈接在 https 頁(yè)面里會(huì)報(bào)錯(cuò)?。磕銘?yīng)該沿用當(dāng)前頁(yè)面的協(xié)議,所以你要寫(xiě) //如果你用 https://,也是一樣的問(wèn)題,你怎么知道三年后會(huì)不會(huì)出現(xiàn)一個(gè) httpshe://,難道到時(shí)候你再全部改成 httpshe:// ?不要做任何明顯是錯(cuò)誤的假設(shè)!你根本就不知道當(dāng)前頁(yè)面會(huì)用什么協(xié)議打開(kāi)!所以你要用 // 啊!類(lèi)似的錯(cuò)誤假設(shè)還有很多,比如很多中國(guó)程序員都以為電話(huà)號(hào)碼只含數(shù)字和括號(hào),不含字母。真的是這樣嗎?

有人說(shuō)全局替換不就完了嗎?舉例說(shuō)明吧,假設(shè)淘寶要升級(jí) https于是你將 http:// 全部替換成 //第一個(gè) bug:你把 替換成了 ,然而當(dāng)時(shí) http://tmail.com 還不支持 https于是你將一定范圍內(nèi)的域名替換,http://(taobao|taobao2|taobao3).com 替換成 //$1.com第二個(gè) bug:有些 JS 是這樣寫(xiě)的 url = "http://" + location.hostname + '/' + path,還有寫(xiě) JS 是這樣寫(xiě)的 /^http:\/\//.test(input)。你說(shuō)這個(gè)就沒(méi)法用正則了,在所有 JS 里全局搜索 http 然后人工審查吧。你知道淘寶有多少 JS 文件嗎…… 而且這些文件是緩存十年的……就算你改了,也不一定能更新。而且一旦你改錯(cuò)了,影響用戶(hù)下單,馬云損失一個(gè)億你賠得起嗎?第三個(gè) bug:有些數(shù)據(jù)根本就不在代碼里,在數(shù)據(jù)庫(kù)里,比如 user.image 的值是 http 開(kāi)頭的。于是你將 user.image 寫(xiě)成 user.image.replace('http://', '//') 或者你直接改數(shù)據(jù)庫(kù)里的數(shù)據(jù)(當(dāng)數(shù)據(jù)量很大的時(shí)候,這基本是不可能的)第四個(gè) bug:你忘了改 nginx、crossdomain 里面的域名第五個(gè) bug:你忘了改配置系統(tǒng)里面的 base_url第六個(gè) bug:你的 https 頁(yè)面嵌入了一個(gè)外部的 http iframe……你就哭吧,這很難解決,運(yùn)氣好直接改成 // (外部支持 https 即可),運(yùn)氣不好就要改頁(yè)面邏輯了。第 N 個(gè) bug……HTTPS 升級(jí)就是臟活累活,你說(shuō)簡(jiǎn)單你來(lái)做,你開(kāi)始做就知道牽連的地方有多少了。好的方案還是把協(xié)議做成很容易變更的方式,比如遵循當(dāng)前頁(yè)面,或者用變量,反正寫(xiě)死 http:// 肯定不好。有些程序員寫(xiě)代碼的時(shí)候,明明知道有 HTTPS 卻不去兼容,心理想著「反正我在這個(gè)公司呆兩年就走了,HTTPS 至少還有三年呢」然后就寫(xiě)出了垃圾代碼。

越來(lái)越多的開(kāi)發(fā)者,在鏈接文件時(shí),采用//來(lái)代替http://,即如< a href="http://jb51.net……一般寫(xiě)為 < a href = " //http://jb51.net……,這與傳統(tǒng)帶http有什么區(qū)別?

原本你的網(wǎng)站是http的,所有的src都是 http開(kāi)頭,以為遭到狗屎運(yùn)營(yíng)商大量劫持,在你的頁(yè)面塞了一大堆少兒不宜/和單純廣告的內(nèi)容的時(shí)候,有人告訴你替換https可以改善這個(gè)問(wèn)題,那么這個(gè)時(shí)候你就知道 之前的src和ajax寫(xiě)得//而不是http://是當(dāng)初多么明智的決定。。。

以上是“https中使用//代替http://有哪些好處”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當(dāng)前標(biāo)題:https中使用//代替http://有哪些好處-創(chuàng)新互聯(lián)
當(dāng)前地址:
http://weahome.cn/article/csehih.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部