【发布时间】:2010-11-01 00:08:54
【问题描述】:
这可能吗.. 例如,假设我用 302(或 303)响应请求,并通知浏览器向给定位置发出请求。. 是否有我可以发送的标头HTTP 302,以便来自浏览器的后续请求包含该标头?
我知道我可以使用位置标头执行此操作,如在重定向中并将 url 中的信息指定为查询字符串.. 但我想知道是否有更好的方法.. 似乎它应该是合法的场景..
'内容已移动,到这里.. 哦,你会想把它带到重定向位置'
我猜是个大胖子!
提前致谢。
编辑
这样做的原因是关于 PRG 模式,您有一个 GET url 和 POST url,假设您发布数据并且它是不可接受的,服务器会将您重定向到 GET,并执行一些“魔术”为了将数据“发送”到该 GET,通常使用会话状态来存储变量。
但是,在发生许多 PRG 请求的情况下,这种情况可能崩溃,当然这不是常见的情况,通常没有人需要担心这一点。但如果你这样做 - 你会需要一种方法来识别请求,这可以通过在 302 中发送的查询字符串参数来完成.. 以便可以根据该请求将特定条目置于会话状态。
问题是关于尝试从 url 中删除“请求键”,并使其更加隐含。cookie“似乎”可以工作,但它们只会让搞砸的窗口更小。
如果你去我指定的“位置”,发送这些参数会很棒。
编辑
请注意,我并不是要让浏览器向该位置发送任意标头,而是如果有任何标头旨在提示请求的上下文(例如查询字符串参数)。
【问题讨论】:
-
无论如何你需要它做什么?也许一个用例能让我们更好地了解您的问题。
标签: http http-headers http-redirect