【问题标题】:How set HTTP *Request* header programmatically (e.g. by <a> -tag, <link> -tag, or by JavaScript)?如何以编程方式设置 HTTP *Request* 标头(例如,通过 <a> -tag、<link> -tag 或 JavaScript)?
【发布时间】:2016-01-29 15:05:03
【问题描述】:

这个问题是关于 HTTP Request 标头——而不是 HTTP 响应标头。

有没有办法以编程方式让用户代理添加或更改任何 HTTP 请求标头,例如通过 HTML、JavaScript 获取来自网页的链接或资源。存在一些人们认为应该能够以编程方式控制的 HTTP 请求标头,例如 max-stale。

(例如,可以想象 HTML 元素 &lt;a&gt;、&lt;link&gt;、&lt;img&gt; &lt;script&gt; 等的一些可选属性可能会导致用户代理在其中添加/更改 HTTP 请求标头它对服务器的请求,但我没有找到这样的属性。类似地,可以认为在使用 AJAX 时应该存在某种机制来控制 HTTP 请求标头。)

转个问题……:HTTP Request Headermax-stale如果无法控制,为什么还存在呢?

谢谢!

【问题讨论】:

    标签: html ajax http-headers


    【解决方案1】:

    XMLHTTPResponse setRequestHeader() 方法可用于为 AJAX 请求设置 HTTP 请求标头。各种 JavaScript 库以不同的方式公开此功能。例如,使用 jQuery.ajax() 可以设置 settings 参数的 headers 属性。

    【讨论】:

      【解决方案2】:

      有一些方法可以影响 html 中的请求标头,例如通过表单的 enctype 属性。我不相信有任何方法可以在 html 中实际指定实际的标头值。
      对于 Ajax,您可以指定请求标头,尽管浏览器会阻止设置某些标头,但我怀疑 max-stale 是其中之一。
      此外,不仅浏览器会发出 http 请求,还有大量应用程序会发出请求,并且它们中的任何一个都可以根据需要轻松设置 max-stale 标头。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-07
        • 2022-01-17
        • 1970-01-01
        • 2015-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-27
        相关资源
        最近更新 更多