前端调接口,控制台一片红:Access-Control-Allow-Origin 缺失,请求被 CORS 拦了。旁边同事问 origin是什么意思,这词在浏览器、git、数学里各指一套东西,得看场景。
浏览器里的 origin 是协议加域名加端口
https://www.example.com:443 这样三样凑齐才叫一个 origin,路径、参数、锚点都不算。三者有一个不同就是跨域。http 和 https 算不同,80 端口和 8080 也算不同。浏览器发跨域请求时会自动带上 Origin 请求头,服务端照着它判断放不放行。
响应头 Access-Control-Allow-Origin 写 * 或具体域名。带 cookie 的请求不能用 *,必须写死域名,还要带 Access-Control-Allow-Credentials: true。本地开发 http://localhost:5173 调线上接口,Vite 配 server.proxy 代理一下就不跨了,这是开发期最省事的做法。
同源策略只看协议、域名、端口这三样,路径再像也没用。默认端口可以省略,https://www.example.com 和 https://www.example.com:443 算同一个源。子域名不同照样跨域,a.example.com 调 api.example.com 一样会被浏览器拦下来。
git 里的 origin 只是默认别名
git clone 之后执行 git remote -v,会看到 origin 指向仓库地址。它不是关键字,只是克隆时自动起的名字,可以改成 upstream 之类。git push origin main 里的 origin 就是远端名字,改了名命令也要跟着换。
原点和 Origin 软件
数学里的 origin 是坐标原点,平面直角坐标系里就是 (0,0)。OriginLab 的 Origin 是科研绘图软件,做曲线拟合、出论文图常用。游戏平台 Origin 是 EA 早年的客户端,后来逐步由 EA App 接替,老玩家嘴上还叫它 origin。
碰到这个词先看上下文:浏览器报错就查跨域响应头,命令行里就查 git remote,论文和图表里多半是原点或绘图软件。origin是什么意思 没有统一答案,场景决定含义。