一比一还原axios源码至第八部分,其他功能有哪些实现细节?

2026-05-23 15:361阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2130个文字,预计阅读时间需要9分钟。

一比一还原axios源码至第八部分,其他功能有哪些实现细节?

到目前,我们完成了axios的大部分功能,接下来我们来补充一下其他的小功能。一、withCredentials这个参数可以明确表示是否是一个跨域请求。那么,它的使用场景是什么呢?就是当我们需要发送cookie时,就需要设置这个参数为true。

  到此,我们完成了axios的绝大部分的功能,接下来我们来补全一下其他的小功能。

一、withCredentials

  这个参数可以可以表明是否是一个跨域的请求。那这个的使用场景是啥呢?就是我们在同域的请求的情况下,是会默认携带cookie的,跨域的话就不会携带cookie,如果我们想要跨域请求并携带cookie,那么就需要这个参数了。当然这个实现非常简单:

if (!utils.isUndefined(config.withCredentials)) { request.withCredentials = !!config.withCredentials; }

  嗯,就这样就完了。

  然后我们需要创建一个作为接受跨域请求的server2.js作为跨域访问的服务器。代码可以在gitHub上看哦。就不多说了。

二、XSRF 防御

  就是跨站请求伪造,登录信任的A网站后会产生该用户的信任cookie,由于浏览器在发送请求的时候会自动携带cookie,如果用户在没有登出的情况下登录黑客网站,那么就会把带有信任的cookie传递给黑客网站,此时黑客网站拿到你的用户cookie就可以伪造用户登录A网站了。

阅读全文

本文共计2130个文字,预计阅读时间需要9分钟。

一比一还原axios源码至第八部分,其他功能有哪些实现细节?

到目前,我们完成了axios的大部分功能,接下来我们来补充一下其他的小功能。一、withCredentials这个参数可以明确表示是否是一个跨域请求。那么,它的使用场景是什么呢?就是当我们需要发送cookie时,就需要设置这个参数为true。

  到此,我们完成了axios的绝大部分的功能,接下来我们来补全一下其他的小功能。

一、withCredentials

  这个参数可以可以表明是否是一个跨域的请求。那这个的使用场景是啥呢?就是我们在同域的请求的情况下,是会默认携带cookie的,跨域的话就不会携带cookie,如果我们想要跨域请求并携带cookie,那么就需要这个参数了。当然这个实现非常简单:

if (!utils.isUndefined(config.withCredentials)) { request.withCredentials = !!config.withCredentials; }

  嗯,就这样就完了。

  然后我们需要创建一个作为接受跨域请求的server2.js作为跨域访问的服务器。代码可以在gitHub上看哦。就不多说了。

二、XSRF 防御

  就是跨站请求伪造,登录信任的A网站后会产生该用户的信任cookie,由于浏览器在发送请求的时候会自动携带cookie,如果用户在没有登出的情况下登录黑客网站,那么就会把带有信任的cookie传递给黑客网站,此时黑客网站拿到你的用户cookie就可以伪造用户登录A网站了。

阅读全文