36

我对OriginHost HTTP 标头的工作有疑问。

我有一个 Ajax 页面“ Page A ”,它将调用 Ajax 提要“ Page B ”。

我看到来自 Ajax 调用的“ Page B ”的请求标头包含标头:

Origin: http://example.com
Host: example.com

但是,如果我直接调用“ Page B ”,请求标头将只包含Host标头:

Host: example.com

Origin因此,我想知道和标头之间有什么区别Host,为什么它们会出现在非直接调用中?

可以在Origin之前添加并传递给服务器吗?

4

1 回答 1

79

Host 是请求被发送的域。引入了此标头,因此托管站点可以在单个 IP 上包含多个域。

Origin 标头是请求源自的

始终包含 Host 标头。有时会包含 Origin 标头:它始终包含在跨域请求中(跨所有浏览器),在 Chrome/Safari 中,它也包含在同源 PUT/POST/DELETE 请求中。同源 GET 请求不包含 Origin 标头。

于 2012-12-14T02:44:24.440 回答