跨域请求

前言:对跨域请求、CORS和CSRF做名词解释,没有深入展开。想深入了解跨域看下面的两篇文章。

跨域请求

  1. 什么是跨域请求
  • 所谓的跨域请求就是指:当前发起请求的域与该请求指向的资源所在的域不一样。(这里的域指的是这样的一个概念:我们认为若协议 + 域名 + 端口号均相同,那么就是同域。)
  • 简单点说:服务器A的web应用,向服务器B请求资源,称为跨域。在 HTML 中,<a>, <form>, <img>, <script>, <iframe>, <link> 等标签以及 Ajax 都可以指向一个资源地址。
  • 举个例子就是:假如一个域名为aaa.cn的网站,它发起一个资源路径为aaa.cn/books/getBookInfo的 Ajax 请求,那么这个请求是同域的,因为资源路径的协议、域名以及端口号与当前域一致(例子中协议名默认为http,端口号默认为80)。但是,如果发起一个资源路径为bbb.com/pay/purchase的 Ajax 请求,那么这个请求就是跨域请求,因为域不一致,与此同时由于安全问题,这种请求会受到同源策略限制。
  1. CORSCSRF傻傻分不清
    一度以为CORS就是指跨域请求。

    • 跨源资源共享 Cross-Origin Resource Sharing(CORS) 是一个新的 W3C 标准,它新增的一组HTTP首部字段,允许服务端其声明哪些源站有权限访问哪些资源。(也就是说,CORS是用于支持跨域请求的标准)

    • CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding。(攻击者盗用了你的身份,以你的名义发送恶意请求)

  2. CORS的请求头

  3. CSRF的攻击方式

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言:对于跨域请求,很早之前就有去了解过,但因为一直关注的都是服务器后端开发,故也就仅仅停留在概念的理解上而没有机...
    ken_ljq阅读 89,945评论 6 128
  • 前言 本期文章的视频内容可以去 B 站看,视频内容有完整的代码演示 在 BS 架构的项目中以及前端开发编码过程中有...
    懒得糊涂阅读 2,237评论 0 0
  • 1. 所谓跨域 跨域是一种浏览器同源安全策略,也即浏览器单方面限制脚本的跨域访问。很多人可能误认为资源跨域时无法请...
    blurooo阅读 6,197评论 11 54
  • 前言 目前在开发中前后端分离的模式比较普遍,那么跨域问题也就时常会遇到。网上资料都很片面,不全面,以及都没有说为什...
    江江的大猪阅读 1,421评论 0 11
  • 前沿: 最近总听到同事聊跨域得问题,于是自己抽空仔细的查阅了一下关于跨域的知识。说到跨域,就得提到同源,跨域是指一...
    戈弋图阅读 1,844评论 0 4