我在一个页面上将我重定向到我自己的web服务器(www.myserver.com),但请求不是一个GET,而是一个POST。浏览器可以通过POST重定向到一个url?
起初www.myserver.com无法处理请求,因为我只有一个处理“GET /”的路由处理程序。当我意识到它可能是POST重定向(在他们的指南中阅读它)时,我为“POST /”创建了一个路由处理程序,并且该页面被提供。
纠正我,如果我错了,所以浏览器可以重定向到一个url与POST?
我在一个页面上将我重定向到我自己的web服务器(www.myserver.com),但请求不是一个GET,而是一个POST。浏览器可以通过POST重定向到一个url?
起初www.myserver.com无法处理请求,因为我只有一个处理“GET /”的路由处理程序。当我意识到它可能是POST重定向(在他们的指南中阅读它)时,我为“POST /”创建了一个路由处理程序,并且该页面被提供。
纠正我,如果我错了,所以浏览器可以重定向到一个url与POST?
答案是YES,但浏览器应该提示用户。 302不允许使用GET和HEAD,但允许307使用POST。从HTTP RFC:
307临时重定向
所请求的资源所在 暂时下一个不同的URI。 由于有时重定向可能会被修改为 ,客户端SHOULD 将继续使用Request-URI来处理将来的请求。该响应仅在 可缓存(如果由 缓存控制或Expires标头字段指示)。
临时URI应该由 响应中的位置字段给出。 除非请求方法是HEAD, 响应应该 包含具有 超链接到新的URI(多个)短超文本注释的实体,由于 许多预HTTP/1.1用户代理不 明白307个状态。因此, 该笔记应该包含 信息,用户需要在 的URI上重复原始请求的 URI。
如果307个状态码被接收在 响应于其他比GET 或HEAD的请求,用户代理必须不 自动重定向请求 除非其可通过 用户确认,因为这可能会改变 条件下,请求发出 。
您使用的浏览器是?
您可以使用指向页面的<form>
标记创建页面,然后在页面加载时使用Javascript提交表单。
但我不是在谈论窗体,而是POST重定向。 – ajsie 2011-02-11 03:46:57
我正在使用Chrome – ajsie 2011-02-11 08:35:14