ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Python Web开发】同源策略与跨域请求

【Python Web开发】同源策略与跨域请求 页面运行在 http://127.0.0.1:8000,却要读取 8001 端口的接口;请求已经到达服务器时,为什么浏览器仍可能拒绝把响应交给 JavaScript?读完后,你能按协议、主机和端口判断是否跨源,借助网络面板检查预检与响应头,并区分 CORS 放行和接口授权是否成功。文章目录两个本地端口下响应存在却无法被脚本读取核心概念与工作机制最小示例验证结果常见误区与适用边界总结两个本地端口下响应存在却无法被脚本读取设页面地址为http://127.0.0.1:8000,接口地址为http://127.0.0.1:8001/data。两者协议和主机相同,但端口不同,因此浏览器视为跨源。按后文示例运行后,预期可在浏览器网络面板中观察到如下现象:页面操作网络请求预期响应页面表现点击“读取数据”GET /data200,含Access-Control-Allow-OriginJavaScript 可以显示 JSON 响应点击“提交 JSON”OPTIONS /data,随后POST /data预检为204,正式请求为200JavaScript 可以显示提交结果点击“请求未配置 CORS 的接口”GET /no-cors服务端可返回
返回列表