HTML属性crossorigin和integrity有什么用
教程管理员 发布于2023-09-27 17:31 HTML教程 155
在引入许多官方的CDN静态库时,会发现我们引入的script
中,不单单只有src
属性,还有crossorigin
和integrity
属性。
那这个东西,如果是我们本地的资源库,我们肯定是没有的。那这两个属性是干嘛的呢?
crossorigin
属性
在HTML5
中,一些 HTML 元素提供了对 CORS
的支持。
我先解释一下CORS
是啥?
相当于是给我们服务器一个白名单,让他不会拦截我们的静态资源。
支持CORS
请求的浏览器一旦发现ajax
请求跨域,会对请求做一些特殊处理,对于已经实现CORS
接口的服务端,接受请求,并做出回应。
有一种情况比较特殊,如果我们发送的跨域请求为“非简单请求”,浏览器会在发出此请求之前首先发送一个请求类型为OPTIONS的“预检请求”,验证请求源是否为服务端允许源,这些对于开发这来说是感觉不到的,由浏览器代理。
总而言之,客户端不需要对跨域请求做任何特殊处理。
<audio>、<img>、<link>、<script> 和 <video> 都可以设置crossorigin属性
crossorigin
的属性值可以是anonymous
、use-credentials
,如果没有属性值或者非法属性值,会被浏览器默认做anonymous
。
crossorigin
会让浏览器启用CORS
访问检查,检查http
响应头的Access-Control-Allow-Origin- 对于传统script需要跨域获取的
JS
资源,控制暴露出其报错的详细信息 - 对于
module script
,控制用于跨域请求的凭据模式
而我们看看,我这里引入的静态库他给了一个anonymous
。也就是不进行CORS
检查。
integrity
属性
integrity
属性可以用在<script>
或者 <link>
元素上,用来开启浏览器对获取的资源进行检查,它允许你为script
或者link
提供一个hash,用来进行验签,检验加载的JavaScript文件或者CSS问卷是否完整。
你可以当他是一个文件校验。和我们平常下载文件进行md5
值校验一样。
告诉浏览器,使用sha384
签名算法对下载的js
文件进行计算,并与intergrity
提供的摘要签名对比,如果二者不一致,就不会执行这个资源。
intergrity
的作用有:避免由【托管在CDN的资源被篡改】而引入的XSS 风险
注意:启用 SRI 策略后,浏览器会对资源进行 CORS 校验,这就要求被请求的资源必须同域,或者配置了 Access-Control-Allow-Origin 响应头
相关推荐
- 10-04 在HTML中取得请求中的参数
- 10-04 SharePoint 2013 母版页取消和HTML页关联
- 10-04 29行代码使用HTML5 Canvas API绘制一颗红心
- 10-04 浏览器加载和渲染html的顺序,Div和Table的区别
- 10-04 《HTML5完美游戏开发》——2.6 Processing.js实例和整合
- 10-04 如何关闭Struts2的webconsole.html
- 10-04 《HTML5 开发实例大全》——1.4 使用CSS修饰HTML 5页面
- 10-04 《HTML5游戏编程核心技术与实战》——2.8 小结
- 10-04 腾讯视频生成的Html代码
- 10-04 ie下tbody的innerhtml属性只读
- 控制面板
- 友情链接
- 最近发表
-
- 涂鸦而不乱简约艺术主题Office PPT免费模板背景素材下载
- 有创意的情人表白动态贺卡Office PPT免费模板背景素材下载
- 绿色简约技能竞赛电力Office PPT免费模板背景素材下载
- 极简几何商务蓝年终总结汇报Office PPT免费模板背景素材下载
- 蓝橙简约商务年终总结汇报Office PPT免费模板背景素材下载
- 绿色清新教育风课堂教学通用Office PPT免费模板背景素材下载
- 潮流复古艺术感年终总结Office PPT免费模板背景素材下载
- 浅绿商务风工作总结报告Office PPT免费模板背景素材下载
- 大气简约时尚年终总结汇报Office PPT免费模板背景素材下载
- 喜庆春节风公司年终誓师表彰大会Office PPT免费模板背景素材下载
- 最新留言
-