这个问题太开放了:可以一样,也可以不一样,全在开发者。 为什么说不知道呢?因为 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 添加请求头。
这个问题太开放了:可以一样,也可以不一样,全在开发者。
为什么说不知道呢?因为 HTTP 的规格没有说,所以,只能看如何实现了。
可以试着问这样的问题:
答案是不一样。为什么?因为浏览器的实现方式不一样,他们的
User-Agent
值不一样。我们使用相同的浏览器,所以
User-Agent
是一样的。但是如果是用了 jQuery 框架,则不一样,jQuery 会增加
Origin
、X-Requested-With:XMLHttpRequest
头。X-Requested-With:XMLHttpRequest
是 jQuery 框架增加的至于
Origin
这个应该是通过 XMLHttpRequest 发送请求时,由浏览器增加的。为的是防止跨域。刚才我又测试了一下,使用 chrome 浏览器发送 ajax 请求,有
Origin
头。使用 firefox 则没有。说明Origin
是 chrome 的 XMLHttpRequest 对象发送的。综上所述,可以一样,也可以不一样,全在开发者。
开发者包括
你可以自己在应用中使用 js 添加请求头。