Web学习笔记1--跨资源共享(CORS)

最近开始学习补充web相关的知识,在研究XML HTTP Response、Websocket之间的区别与应用时,看到了一个关键词【跨资源共享-Cross-Origin Resource Sharing】,在这里针对该关键词的理解做一个总结。

简短的看完CORS的描述后,得出初步的字面理解:“允许网页获取不同域名的请求资源”。那么问题来了,为什么有这种需求?什么情况下会使用该功能?什么情况下不需要启用该功能?开启该功能对web的性能安全会有影响吗?带着这些问题我们来理解一下这个【跨资源共享】的概念。

浏览器在设计时候,为了安全考虑,不允许页面请求不同域名domain的资源。假设一个场景,我们的web服务页面是动态生成的,并且动态生成的页面资源需要从不同的服务器获取(即不同的domain),假设我们的web域名地址是www.example.com,我们需要访问主页也就是www.example.com/home,加载主页的资源css、图片、javascipt脚本等等放在不同的服务器上(192.168.20.1、192.168.37.2等),为了加载成功,我们需要开启【跨资源共享】这个功能,允许浏览器在加载主页时去其他的domain请求资源,最终用户在浏览器可以正常打开我们的主页。

开启该功能,可以通过设置请求头部的参数 Access-Conrtol-Allow-Origin: *,允许访问任何domain的资源。但是在开启该功能之前,需要认真考虑其必要性,正如之前所说,可能会带来一些安全问题。

以上是对该概念的一点个人理解与总结。

你可能感兴趣的:(Web学习笔记1--跨资源共享(CORS))