gpt4 book ai didi

http - 服务器未发送的自定义响应 header (Rails Devise)

转载 作者:可可西里 更新时间:2023-11-01 02:51:12 27 4
gpt4 key购买 nike

我试图在对 Rails 服务器的每个请求中检索 3 个响应 header (Rails Devise Auth header :uid、客户端、访问 token )。

使用 Postman(http 客户端)可以正常工作。使用 OkHttp(java http 客户端), header 不会显示在客户端中(我已经使用 Wireshark 进行了检查)。当我处于 Debug模式时,它就可以工作...

最佳答案

postman 的附加 header 是由于 postman 发送了一个 Origin header ,而服务器正在回复 CORS header ,即 Access-Control-...。这些 header 在普通 HTTP header 内发送,即不在响应之后。

但这些访问控制 header 仅在从浏览器完成访问时才相关,因为它们控制 XHR 的跨源行为.由于您不在浏览器中,因此它们应该与您正在做的事情无关。相关的是响应的主体和其他一些 header ,在这里您不会发现任何差异。同样无关紧要的是,如果多个请求是在同一个 TCP 连接( postman 完成的 HTTP 保持事件)或多个连接(OkHttp)中发送的,因为每个请求都是独立于另一个的,使用相同的 TCP 连接只是一种性能优化。

如果你真的想获得这些特殊的 header ,你应该在你的 OkHttp 请求中添加一个 Origin header 。参见 the OkHttp examples关于如何添加自己的标题。但正如我所说:这些访问控制 header 应该与实际任务无关,并且不需要访问这些 header 。

关于http - 服务器未发送的自定义响应 header (Rails Devise),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36460864/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com