首页 > 作文

详解javascript如何在跨域请求中携带cookie

更新时间:2023-04-05 23:24:08 阅读: 评论:0

1. 搭建环境

1.生成工程文件

2.安装 express

3.新增app1.js,开启服务器1 端口:3001

4.新增app2.js,开启服务器2 端口:3002

5.新增public文件夹,新建index.html文件

6.分别启动两个服务

node app1.jsnode app2.js

7.项目目录如下

至此,环境搭建好了,在浏览器访问http://localhost:3001/index.html即可。

我们把资源部署到了服务器1上,即端口3001。同源请求的是3001的接口,跨域请求的是3002的接口。

2. 测试同源cookie

加载index.html会自动请求login接口,获取cookie

点击同源请求按钮,发送同源请求,getur接口请求会自动携带cookie

3. 跨域请求携带cookie

点击跨域请求按钮

解决:
1.axios请求时加上 withcredentials: true,再次点击跨域请求

2. 在服务端设置access-contr动物是人类的好朋友ol-allow-origin
在app2.js中加入

3. 在服务端设置access-control-allow-credentials
在app2.js中加入

到此,我看可以看到跨域请求中加上了cookie。

4. 总结

1.前端请求时在request对象中配置”withcredentials”: true;
2.跨域服务端在respon的header中配置”access-control-allow-origin”, “http://xxx:${port}”;
3.跨域服务端在respon的header中配置”access-control-allow-credentials”, “true”

5. 知识点

1湖北省高中生课改网.withcredentials
该xmlhttprequest.withcredentials属性是一个布尔值,指示是否access-control应使用 cookie、授权标头或 tls 客户端证书等凭据进行跨站点请求。设置withcredentials对同站点请求没有影响。
此外,此标志还用于指示何时在响应中忽略 cookie。默认值为fal. xmlhttprequest来自不同域的 cookie 不能为自己的域设置 cookie 值,除非在发出请求之前withcredentials设置为。true通过设置为 true 获得的第三方 cookiewithcredentials仍将遵循同源策略,因此请求脚本无法通过document.cookie或从响应标头访问。 —来自mdn

2.access-control-allow-origin
指定了该响应的资源是否被允许与给定的origin共享

3.access-control-allow-credentials
当请求的凭证模式 ( ) 为access-control-allow-credentials时,响应标头告诉浏览器是否将响应暴露给前端 javascript 代码。 request.credentialsinclude

当请求的凭据模式 ( request.credentials) 为 时,如果值为include,浏览器只会将响应暴露给前端 javascript 代码。 access-control-allow-credentialstrue

凭据是 cookie、授权标头或分科教学 tls 客户端证书。

当用作对预检请求的响应的一部分时,这表明是否可以使用凭证发出实际请求。请注意,简单get 的请求不会被预检。因此,如果对具有凭据的资源发出请求,并且如果此标头未与资源一起返回,则响应将被浏览器忽略并且不会返绯闻女孩第二季插曲回到 web 内容。
access-control-allow-credentials头与 xmlhttprequest.withcredentials属性或 fetch api 构造函数中的credentials选项一起使用。request()对于带有凭据的 cors 请求,为了让浏览器向前端 javascript 代码公开响应,服务器(使用 access-control-allow-credentials标头)胡汉民书法和客户端(通过为 xhr、fetch 或 ajax 请求设置凭据模式)都必须表明它们’正在选择包括凭据。 —来自mdn

到此这篇关于详解javascript如何在跨域请求中携带cookie的文章就介绍到这了,更多相关javascript跨域携带cookie内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-05 23:24:02,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/6abb58fc6c49bea8987199b92274af01.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:详解javascript如何在跨域请求中携带cookie.doc

本文 PDF 下载地址:详解javascript如何在跨域请求中携带cookie.pdf

标签:凭据   浏览器   服务端   的是
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图