日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html css integrity,HTML5 script 标签的 crossorigin 和integrity属性的作用

發(fā)布時(shí)間:2024/9/3 HTML 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html css integrity,HTML5 script 标签的 crossorigin 和integrity属性的作用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Bootstrap 4?依賴的基礎(chǔ)庫中出現(xiàn)了兩個(gè)新的屬性

1

2

3

HTML5 新的規(guī)定,是可以允許本地獲取到跨域腳本的錯(cuò)誤信息,但有兩個(gè)條件:一是跨域腳本的服務(wù)器必須通過?Access-Controll-Allow-Origin?頭信息允許當(dāng)前域名可以獲取錯(cuò)誤信息,二是當(dāng)前域名的?script??標(biāo)簽也必須指明?src?屬性指定的地址是支持跨域的地址,也就是 crossorigin 屬性。聽名字也知道是跨域的時(shí)候用的屬性,加載本地靜態(tài)文件根本就不牽涉跨域的問題,所以本地就不應(yīng)該用它(理論上使用也沒關(guān)系,但瀏覽器就是這么定的,印象中如果 crossorigin 用在了本地文件上,瀏覽器報(bào)錯(cuò)信息會(huì)告訴你 crossorigin 只能支持 http/https/… 等協(xié)議上,所以你非要加載本地靜態(tài)文件也不是沒辦法,只能自建本地 web 服務(wù)器然后地址寫帶 scheme 和 host 的完全絕對(duì)路徑)。

另外除了??script?,所有能引入跨域資源的標(biāo)簽包括??link??和?img?之類,都有一樣的屬性。

integrity (大部分情況)是給 CDN 的靜態(tài)文件使用的,比如大名鼎鼎的 ajax.googleapis.com,或者國內(nèi)的 cdn.bootcss.com。CDN雖然好但 CDN 有可能被劫持,導(dǎo)致下載的文件是被篡改過的(比如通過 DNS 劫持),有了 integrity 就可以檢查文件是否是原版。但因?yàn)楸镜匚募玫挠蛎W(wǎng)頁是同一個(gè)域名,不存在劫持的問題(或者劫持就連網(wǎng)站本身一起被劫持了,那就不是 integrity 能解決的問題了),所以本地靜態(tài)文件沒有太大必要用這個(gè)屬性。

當(dāng)然,還有一種情況是你自己搭了一套提供靜態(tài)文件的獨(dú)立站點(diǎn),這個(gè)時(shí)候用 integrity 是有意義。MDN 文檔里也提到了 integrity 值的生成方式,這里也再引用一下:

1 cat FILENAME.js | openssl dgst -sha384 -binary | openssl base64 -A

或者

1 shasum -b -a 384 FILENAME.js | awk '{ print $1 }' | xxd -r -p | base64

總之簡單一句話:只有當(dāng)你的網(wǎng)頁域名和要載入的靜態(tài)文件存放的站點(diǎn)域名不一樣的時(shí)候,使用這兩個(gè)屬性才有意義(并且因?yàn)g覽器的規(guī)定 crossorigin 屬性只有這個(gè)時(shí)候才能正常使用)。

原文出處:https://www.cnblogs.com/ihuangqing/p/10717018.html

總結(jié)

以上是生活随笔為你收集整理的html css integrity,HTML5 script 标签的 crossorigin 和integrity属性的作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。