前端跨域问题及解决方案(5)
2023-04-30 来源:飞速影视
正如大家所知,出于安全考虑,浏览器会拦截跨域请求的返回结果。比如,使用 XMLHttpRequest 对象和 Fetch 发起 HTTP 请求就必须遵守 同源策略。 具体而言,Web 应用程序通过 XMLHttpRequest 对象或 Fetch 能且只能向同域名的资源发起 HTTP 请求,而不能向任何其它域名发起请求。为了能开发出更强大、更丰富、更安全的 Web 应用程序,开发人员渴望着在不丢失安全的前提下,Web 应用技术能越来越强大、越来越丰富。比如,可以使用 XMLHttpRequest 发起跨站 HTTP 请求。
![前端跨域问题及解决方案](http://fs.qqfile.top/re/aHR0cHM6Ly9waWNzNy5iYWlkdS5jb20vZmVlZC8xMGRmYTllYzhhMTM2MzI3NThjZmI2N2M5Mzg0MGVlNzA4ZmFjNzcxLnBuZ0BmX2F1dG8_dG9rZW49MzBiZmYzZjg1YTlkZTg2MDA2ZDBiMzVhODdlZmNkOWU1)
隶属于 W3C 的 Web 应用工作组推荐了一种新的机制,即跨源资源共享(Cross-Origin Resource Sharing ) CORS。这种机制让Web应用服务器能支持跨站访问控制,从而使得安全地进行跨站数据传输成为可能。需要特别注意的是,这个规范是针对API容器的(比如说 XMLHttpReques 或者 Fetch),以减轻跨域HTTP请求的风险。
跨源资源共享标准(cross-origin sharing standard)使得以下场景可以使用跨站 HTTP 请求:
1、使用 XMLHttpRequest 或 Fetch发起跨站 HTTP 请求。 2、Web 字体(CSS 中通过 @font-face 使用跨站字体资源),因此,网站就可以发布 TrueType 字体资源,并只允许已授权网站进行跨站调用。 3、WebGL 贴图 4、使用drawImage绘制 5、Images/video 画面到canvas. 6、样式表(使用 CSSOM) 7、Scripts(for unmuted exceptions)
所有浏览器都支持该功能,IE 浏览器不能低于 IE10。通过 XMLHttpRequest 对象发起。但 Internet Explorer 8 和 9 可以通过 XDomainRequest 对象来实现 CORS。可以把 CORS 分为:简单请求、预请求和附带凭证信息的请求。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号