What is the common HTTP header for request by JS libs?

孤者浪人 提交于 2020-01-01 12:36:10

问题


Using the Prototype JavaScript framework I've noticed, that the Ajax requests are enriched with a header called X-Requested-With.

Do other JavaScript libraries like jQuery, dojo and YUI add headers to their Ajax requests? Is it always called X-Requested-With? Is this a standard?

The full header by Prototype:

X-Requested-With:     XMLHttpRequest
X-Prototype-Version:  1.5.0_rc0

回答1:


The X-Requested-With header is sent by default by the following frameworks:

  • Dojo
  • ExtJS
  • jQuery
  • MooTools
  • Node.js
  • Prototype
  • YUI

As usual, keep in mind that it is not mandatory for frameworks to send it, that sometimes the framework's user can override it, that client/firewall/proxy/server may affect it, and there are even known browser bug(s) for it.




回答2:


The "X-" portion of the "X-Requested-With" header is a convention that marks non-standard headers.

This Wikipedia article notes that this header is mainly used to identify Ajax requests. Most JavaScript frameworks send this header with value of XMLHttpRequest [for AJAX calls].




回答3:


The X prefix denotes non-standard, but it could be said it's standard by convention.

Other JS frameworks including jQuery and MooTools append this as well. It's looked for by server side frameworks (including rails, zend, and symfony, to name a few) to determine if a request is XMLHttpRequest.



来源:https://stackoverflow.com/questions/7042865/what-is-the-common-http-header-for-request-by-js-libs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!