这是使用jQuery从Chrome扩展程序发出的AJAX请求(php中的print_r()
)
Array
(
[HTTP_HOST] => 127.0.0.1
[HTTP_CONNECTION] => keep-alive
[CONTENT_LENGTH] => 0
[HTTP_ACCEPT] => */*
[HTTP_ORIGIN] => chrome-extension://apdckddecfflophongckfbabbjhnjbph
[HTTP_USER_AGENT] => Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.123 Safari/537.36
..
如何在AJAX请求离开浏览器之前删除Origin
标头?
答案 0 :(得分:6)
只需将网站添加到您的清单文件的permissions section(有关有效格式,请参阅match patterns)。然后,请求将被视为从与网站相同的来源发送,并且不会添加“Origin”请求标头。
{
...
"permissions": [
"*://example.com/*"
]
}
(如果没有此权限,Chrome仍会尝试使用CORS获取资源,从而导致添加“Origin”标头。仅当服务器回复Access-Control-Allow-Origin
标头时,此类请求才会成功这是一个通配符(*
)或匹配请求者的来源。)
答案 1 :(得分:2)
原始标题由浏览器自动添加,不能由用户控制。它是一个Web主体,用于确定URI中内容的来源。 CORS还使用此标头来确定是否可以对此跨域请求进行处理或拒绝。
始终在跨源请求中添加Origin头,某些同源请求也可能包含它。例如,Chrome和Safari会在同源POST / PUT / DELETE请求中包含原始标头,这取决于浏览器的实现。
不幸的是,我认为没有办法删除这个标题。