跨域资源共享(Cross-Origin Resource Sharing)

跨域资源共享

疑问一:为何要有跨域资源共享?

由于CSP同源策略的存在,致使AJAX没法跨域读取、写入资源,为了解决跨域分享资源的问题,提出了CORS,用来在不一样域之间进行资源共享。可是,CORS仅仅适用于跨域发送数据,并且是从客户端发送到服务器端。跨域

目标域:被跨域访问的那个域。
发送域:存储AJAX,须要访问目标域的那个域。

CORS的实现,须要目标域的服务器端设置响应的HTTP头

Allow-Control-Allow-Origin:https://xxxx.com     #表示运行https://xxxx.com域中的AJAX脚本发送资源过来

默认状况下,AJAX跨域不能发送目标域的cookie,除非目标域设置请求头:Access-control-Allow-Credentials: true
当目标域设置了上述的请求头以后,跨域发送数据时将会带上目标域的cookie,可实现登录以后的操做。很完美的应用于AJAX实现的CSRF中。可是,若是设置了上述请求头,则Allow-Control-Allow-Origin的值必须为一个肯定的值。

因此,若是目标域容许跨域,且Allow-Control-Allow-Origin的值为*,就能够直接放弃了。
相关文章
相关标签/搜索