news 2026/8/26 23:05:04

Python中CORS 跨域中间件的配置和作用原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python中CORS 跨域中间件的配置和作用原理

一、先定位是什么:

CORS(Cross-Origin Resource Sharing)跨域资源共享,是由浏览器和服务端共同遵循的、规范跨域 HTTP 请求行为的安全机制

它的核心作用是在浏览器 “同源策略” 的安全框架下,允许服务端通过配置响应头明确声明 “哪些源(域名 + 端口)、哪些操作(方法 / 头信息)可以跨域访问自身资源”,从而解决同源策略过于严格导致的合法业务跨域需求问题。

二、为什么?

就是因为浏览器本身有一个叫同源策略的安全机制:

当前端页面的协议、域名、端口与后端 API 的协议、域名、端口不一致时,浏览器会在接收后端响应后拦截数据;而 CORS(跨域资源共享)通过服务端配置响应头,让浏览器判定该跨域请求合法,从而放行响应数据,解决同源策略导致的跨域拦截问题。

三、怎么解决?

CORS 通过让服务器在 HTTP 响应头中注入标准化的 CORS 响应头来告诉浏览器:哪些源(Origin)哪些操作可以跨域访问资源

而不同语言配置 CORS 响应头的方法都不一样,java中是通过实现WebMvcConfigurer接口重写addCorsMappings方法来实现的。而我们的python则使用
跨域资源共享中间件:CORSMiddleware

它的的核心作用就是在HTTP响应中注入CORS相关头信息,让浏览器放行跨域请求。

from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware app = FastAPI() # 配置允许跨域的源(生产环境替换为具体域名) origins = [ "http://localhost:3000", # 前端本地开发地址 "https://www.xxx.com", # 生产环境前端域名 "https://admin.xxx.com", # 多域名支持 ] # 添加跨域中间件 app.add_middleware( CORSMiddleware, allow_origins=origins, # 允许的跨域源(列表形式,支持多个) allow_credentials=True, # 是否允许携带 Cookie(关键,默认 False) allow_methods=["*"], # 允许的请求方法(* 表示所有,如 GET/POST/PUT/DELETE) allow_headers=["*"], # 允许的请求头(* 表示所有,如 Token/Content-Type) max_age=3600, # 预检请求(OPTIONS)的缓存时间(秒),避免频繁预检 ) # 测试接口 @app.get("/api/test") async def test_cors(): return {"msg": "FastAPI 跨域请求成功"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 12:59:25

Excalidraw手绘风格背后的渲染技术原理剖析

Excalidraw手绘风格背后的渲染技术原理剖析 在数字协作日益深入的今天,一张草图可能比十页文档更能激发团队的共鸣。尤其是在远程会议、系统设计或产品原型讨论中,可视化表达早已不是“锦上添花”,而是沟通效率的核心杠杆。然而,…

作者头像 李华
网站建设 2026/8/26 20:49:43

5、Windows XP 文件与网络操作全攻略

Windows XP 文件与网络操作全攻略 1. 添加网络位置 在 Windows XP 中,若要添加网络位置的快捷方式到“网上邻居”窗口,可按以下步骤操作: 1. 确保在“服务提供商”列表框中,“其他网络连接”“指定网站地址、网络位置或 FTP 站点”处于高亮状态,然后点击“下一步”按钮…

作者头像 李华
网站建设 2026/8/26 21:52:48

夸克网盘加速_下载提速

今天教大家一招能解决夸克网盘限制的在线工具。这个工具也是完全免费使用的。下面让大家看看我用这个工具的下载速度咋样。地址获取:放在这里了,可以直接获取 这个速度还是不错的把。对于平常不怎么下载的用户还是很友好的。下面开始今天的教学 输入我给…

作者头像 李华
网站建设 2026/8/26 19:52:47

11、Windows XP 使用指南:打印、搜索与菜单操作全解析

Windows XP 使用指南:打印、搜索与菜单操作全解析 一、打印机的使用与切换 在将打印机添加到计算机后,你就可以在使用诸如 Word 2003 和 Excel 2003 等程序进行打印,或者直接从 Windows 进行打印时使用它。 若要在 Word 和 Excel 等程序中切换到未设为默认打印机的新打印…

作者头像 李华
网站建设 2026/8/26 20:50:58

16、利用 Internet Explorer 6 浏览器畅享网络世界

利用 Internet Explorer 6 浏览器畅享网络世界 在当今数字化时代,网络已成为我们获取信息、娱乐和交流的重要工具。而 Internet Explorer 6 浏览器作为一款经典的浏览器,为我们提供了便捷的网络浏览体验。下面将详细介绍如何使用 Internet Explorer 6 浏览器进行网页浏览、保…

作者头像 李华
网站建设 2026/8/26 14:57:33

3、Windows XP 操作全指南:从登录到关机

Windows XP 操作全指南:从登录到关机 1. 开启 Windows XP 之旅 启动 Windows XP 就像打开电脑一样简单,它会以一种充满未来感的方式自动跃入屏幕。不过,在开始工作之前,你可能会遇到那个蓝色的欢迎屏幕,你需要通过点击用户名来登录。 如果你在欢迎屏幕上没有看到自己的…

作者头像 李华