在使用CDN資源時遇到這兩個屬性:
<link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-aef3088517c60128e10c5cce8d392985504018745a58a13691f1a278951852bb.css" integrity="sha256-rvMIhRfGASjhDFzOjTkphVBAGHRaWKE2kfGieJUYUrs=" media="all" rel="stylesheet" /> <script crossorigin="anonymous" integrity="sha256-+Ec97OckLaaiDVIxNjSIGzl1xSzrqh5sOBV8DyYYVpE=" src="https://assets-cdn.github.com/assets/frameworks-f8473dece7242da6a20d52313634881b3975c52cebaa1e6c38157c0f26185691.js"></script>
crossorigin:
該枚舉屬性指定在加載相關圖片時是否必須使用CORS。可取的值包括以下兩個:
- anonymous:會發起一個跨域請求(即包含Origin: HTTP頭)。但不會發送任何認證信息(即不發送cookie, X.509證書和HTTP基本認證信息)。如果服務器沒有給出源站憑證(不設置Access-Control-Allow-Origin: HTTP頭),這張圖片就會被污染並限制使用。
- use-credentials:會發起一個帶有認證信息 (發送 cookie, X.509 證書和 HTTP 基本認證信息) 的跨域請求 (即包含 Origin: HTTP 頭). 如果服務器沒有給出源站憑證 (不設置 Access-Control-Allow-Origin: HTTP 頭), 這張圖片就會被污染並限制使用.
- 當不設置該屬性時, 資源將會不使用 CORS 加載 (即不發送 Origin: HTTP 頭), 這將阻止其在 元素中進行使用. 若設置了非法的值, 則視為使用 anonymous.
integrity:
關於integrity的詳細資料:https://imququ.com/post/subresource-integrity.html
啟用 SRI 策略后,瀏覽器會對資源進行 CORS 校驗,這就要求被請求的資源必須同域,或者配置了 Access-Control-Allow-Origin 響應頭。這個細節需要大家注意。
參考:https://blog.csdn.net/SNP_fuyun/article/details/77113985?locationNum=10&fps=1