CORS浏览器跨域问题
参考 http://www.ruanyifeng.com/blog/2016/04/cors.html
cors 跨域问题详解
跨域指向的是服务端
-
浏览器请求服务器的时候, 当当前
ip
,端口
,协议类型
不同的时候,都会在 Origin 记录并传到服务器 -
服务器根据 Origin 来判断是否在
Access-Control-Allow-Origin
允许的范围内
跨域在服务端的响应设置
{ "Content-Type": "application/json", // 支持的请求类型 'Access-Control-Allow-Origin': '*', //允许所有, 单个 http://localhost:8080/ "Access-Control-Allow-Methods": "GET", //跨域支持的请求方法 "Access-Control-Allow-Headers": "x-requested-with,SESSIONKEY", //头部允许加入的字段, 比如头部字段有SESSIONKEY, 需要在这里加入 "Access-Control-Allow-Credentials": "true" //否允许发送Cookie }
跨域中对预检(preflight)的处理 ![image-20210728155703381](https://gitee.com/han_gx/my_notes/raw/master/javascript/%E8%B7%A8%E5%9F%9F/typoraImage/image-20210728155703381.png)
预检
的请求方法是 OPTIONS
代码 nodejs
var webconn const http = require('http') const urlT = require('url') function createServer() { webconn = http.createServer(function (req, res) { /** * 1. http://www.ruanyifeng.com/blog/2016/04/cors.html 跨域请求 * 2. 针对跨域请求中的 preflight 的处理方案, 预检 的请求方法是OPTIONS */ console.log("===========================" + req.url + ", method: " + req.method) res.writeHead(200, { "Content-Type": "application/json", 'Access-Control-Allow-Origin': '*', "Access-Control-Allow-Methods": "GET", "Access-Control-Allow-Headers": "x-requested-with,SESSIONKEY", "Access-Control-Allow-Credentials": "true" }); if (req.method !== "OPTIONS") { // do something } res.end() }).listen(CONF.SCOKET_PORT, () => { log.info("http 服务器启动成功") }) }
本文来自博客园踩坑狭,作者:韩若明瞳,转载请注明原文链接:https://www.cnblogs.com/han-guang-xue/p/15071008.html
标签:
前端学习
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!