您好!欢迎访问家园网-www.jy.wang!

家园网

允许所有来源访问

网络 作者:本站 点击:

从词源角度拆开看,header('Access-Control-Allow-Origin: *'); 这句话几乎就是一堆古英语、拉丁语、古法语词根拼出来的 Web 协议术语。

先看整句代码的含义:
这是 PHP 的 header() 函数,向 HTTP 响应中发送一个响应头:

Access-Control-Allow-Origin: *

意思是:告诉浏览器,这个资源的跨源访问控制策略是“允许所有来源访问”。

下面逐词看词源。


1. header

  • 古英语:hēafod,意思是“头”。

  • 原始日耳曼语:*haubudam。

  • 与拉丁语 caput“头”同源。

  • 后来引申为“位于主体前面的部分”。

在 HTTP 里,header 就是“消息头”,是附加在请求或响应主体之前的信息。
PHP 的 header() 函数名也来自这里:发送一个 HTTP 头。


2. Access

  • 拉丁语:accessus。

  • 由 ad-“向、朝” + cedere“走、让”构成。

  • 本义:走近、进入。

  • 后来引申为:进入的权利、访问。

所以 Access 在这里就是“访问”。


3. Control

  • 古法语:contreroller。

  • 中世纪拉丁语:contrarotulare。

  • 由 contra-“相对、对照” + rotulus“小卷轴、名单”构成。

  • 原义:用副本账册去核对,后来引申为“控制、管理”。

Access-Control 合起来就是“访问控制”,也就是:谁可以访问、谁不可以访问。


4. Allow

  • 古法语:alouer。

  • 拉丁语:allaudare。

  • 由 ad-“向” + laudare“赞扬”构成。

  • 最初有“称赞、认可”的意思。

  • 后来从“认可”引申为“批准、允许”。

所以 Allow 在这里就是“允许”。


5. Origin

  • 拉丁语:originem,主格 origo。

  • 来自动词 oriri,意思是“升起、开始”。

  • 本义:开始之处、来源、起源。

在 Web 里,Origin 不是随便一个来源,而是特指:


协议 + 域名 + 端口

比如:


https://example.com:443

这就是一个“源”。


6. *

  • 英文:asterisk。

  • 希腊语:asteriskos。

  • 由 aster“星星” + 小词后缀 -iskos 构成。

  • 字面意思是“小星星”。

在计算机和规范里,星号常被用作通配符,表示“任意、所有”。
在这里,* 就表示:允许任意 Origin。


7. 组合起来

Access-Control-Allow-Origin 字面拆解是:


访问 - 控制 - 允许 - 来源

也就是:

在访问控制中,允许哪个来源。

再加上 *:


允许所有来源

所以整句:


header('Access-Control-Allow-Origin: *');

从词源和命名逻辑看,就是:

发送一个 HTTP 响应头,告诉浏览器:这个资源的访问控制策略允许任意来源访问。

它属于 CORS 机制。
CORS 全称是:


Cross-Origin Resource Sharing
跨源资源共享

其中:

  • Cross:交叉、跨越;

  • Origin:源;

  • Resource:资源;

  • Sharing:共享。

浏览器默认有同源策略,不允许随便跨源读取数据。
服务器通过 Access-Control-Allow-Origin 这个响应头,来授权哪些源可以跨源访问。

用一句话概括词源逻辑:

header 是“头”,Access 是“进入”,Control 是“控制”,Allow 是“认可后允许”,Origin 是“来源”,* 是“小星星变成的任意通配符”。合起来就是:访问控制允许来源:任意

标签: