使用我注意到的Prototype JavaScript framework,Ajax请求使用名为X-Requested-With
的标头进行了丰富。
其他JavaScript库如jQuery,dojo和YUI是否会在其Ajax请求中添加标头?它总是被称为X-Requested-With
吗?这是标准吗?
Prototype的完整标题:
X-Requested-With: XMLHttpRequest
X-Prototype-Version: 1.5.0_rc0
答案 0 :(得分:7)
默认情况下,X-Requested-With标头由以下框架发送:
像往常一样,请记住,框架发送它并不是必须的,有时框架的用户可以覆盖它,客户端/防火墙/代理/服务器可能会影响它,甚至有known browser bug(s)为了它。
答案 1 :(得分:2)
X前缀表示非标准,但可以说它是按惯例标准的。
其他JS框架包括jQuery和MooTools也附加了这个。它由服务器端框架(包括rails,zend和symfony,仅举几例)来查找,以确定请求是否是XMLHttpRequest。
答案 2 :(得分:2)
“X-Requested-With”标题的“X-”部分是标记非标准标题的约定。
此Wikipedia article注意到此标头主要用于标识Ajax请求。大多数JavaScript框架都会发送此标头,其值为XMLHttpRequest [用于AJAX调用] 。