使用浏览器应发送到重定向位置的HTTP重定向发送信息?

mea*_*ode 9 http http-redirect http-headers

这是可能的......例如,假设我用302(或303)响应请求,并通知浏览器对给定位置发出请求..是否有可以通过HTTP 302发送的标头,以便来自浏览器的后续请求将包含该标头?

我知道我可以使用位置标题执行此操作,如重定向并将URL中的信息指定为查询字符串..但我想知道是否有更好的方法..它似乎应该是一个合法的场景. .

'内容已经移动,转到这里..哦,你会想带上这个给予重定向位置'

我猜一个大胖子不!

提前致谢.


编辑

这样做的原因在于PRG模式,你有一个GET url和POST url,假设你发布数据并且它是不可接受的,服务器将你重定向到GET,并做一些'魔术'以便'发送数据'到该GET,最常使用会话状态来存储变量.

然而,在许多这些PRG请求发生的情况下,这可能会崩溃,这被认为这不是常见的情况,通常没有人需要担心这个......但如果你这样做 - 你需要一种方法来识别请求,这可以完成在302中发送的查询字符串参数,以便根据该请求将特定条目置于会话状态.

问题是关于尝试从网址中删除"请求密钥",并使其更加隐含.. cookie'看起来'可以工作,但它们只会使螺丝钉的窗口变小.

如果你去我指定的'位置',发送这些参数会很棒.


编辑

请注意,我并不是试图让浏览器向该位置发送任意标头,但是如果有任何标头旨在提示请求的上下文(如查询字符串参数可以).

tva*_*son 11

重定向响应本身不包含任何数据.您可以使用带有查询参数的URL重定向,但新的"位置"将需要知道如何使用这些参数.

  • tvanfosson,是的,我知道重定向不包含数据,任何查询参数都是这样..需要理解的参数..但是,我具体想知道的是是否可以将这些参数发送到外部请求参数。 (2认同)
  • 如果重定向和目标页面在同一主机名上,那么是的,客户端应该接收重定向发送的 cookie 并将其发送回目标页面。所以是的,您可以设置一个带有重定向的 cookie 并转发该 cookie。然而,cookies当然不能跨域工作,所以对于跨域重定向,唯一需要转发信息的就是把它放在URL本身中,即放在查询字符串上。 (2认同)