Answers
这个问题太开放了: 可以一样,也可以不一样,全在开发者 。
为什么说不知道呢?因为 HTTP 的规格没有说,所以,只能看如何实现了。
可以试着问这样的问题:
用 chrome 浏览器发送 get 请求,和用 IE 发送 get 请求时,此两者的请求头一样吗?
答案是不一样。为什么?因为浏览器的实现方式不一样,他们的
User-Agent
值不一样。
用 ajax 发送 get 请求,直接在浏览器输入网址,用 form 发送 get 请求,此三者的请求头一样吗?
我们使用相同的浏览器,所以
User-Agent
是一样的。
但是如果是用了 jQuery 框架,则不一样,jQuery 会增加
Origin
、
X-Requested-With:XMLHttpRequest
头。
X-Requested-With:XMLHttpRequest
是 jQuery 框架增加的
if ( !s.crossDomain && !headers["X-Requested-With"] ) {
headers["X-Requested-With"] = "XMLHttpRequest";
}
至于
Origin
这个应该是通过 XMLHttpRequest 发送请求时,由浏览器增加的。为的是防止跨域。
刚才我又测试了一下,使用 chrome 浏览器发送 ajax 请求,有
Origin
头。使用 firefox 则没有。说明
Origin
是 chrome 的 XMLHttpRequest 对象发送的。
综上所述, 可以一样,也可以不一样,全在开发者 。
开发者包括
- 浏览器开发者
- 浏览器组件开发者,例如 XMLHttpRequest 对象
- 类库开发者
- 网站开发者
你可以自己在应用中使用 js 添加请求头。
adoll8
answered 11 years, 1 month ago