浏览器可以通过POST重定向到网址?

时间:2011-02-11 03:10:32

标签: php javascript http browser

我在一个页面上将我重定向到我自己的网络服务器(www.myserver.com),但请求不是GET而是POST。

起初www.myserver.com无法处理请求,因为我只有一个处理“GET /”的路由处理程序。当我意识到它可能是一个POST重定向(在他们的指南上阅读它)时,我为“POST /”创建了一个路由处理程序,并且页面已经提供。

如果我错了,请纠正我,所以浏览器可以通过POST重定向到网址?

2 个答案:

答案 0 :(得分:2)

答案是肯定的,但浏览器应该提示用户。 302不允许GET和HEAD,但允许307进行POST。来自HTTP RFC:

307临时重定向

  

请求的资源驻留   暂时在不同的URI下。   由于重定向可能会改变   有时,客户应该   继续使用Request-URI   未来的要求。这个回应只是   如果由a指示可缓存   Cache-Control或Expires标头字段。

     

临时URI应该由。给出   响应中的“位置”字段。   除非请求方法是HEAD,   响应的实体应该   包含一个简短的超文本注释   超链接到新的URI,因为   许多pre-HTTP / 1.1用户代理没有   了解307的状态。因此,   注意应该包含   用户所需的信息   重复新的原始请求   URI。

     

如果收到307状态代码   响应GET以外的请求   或HEAD,用户代理不得   自动重定向请求   除非可以通过确认   用户,因为这可能会改变   请求的条件   发出的。

您使用的浏览器是什么?

答案 1 :(得分:0)

您可以创建一个页面,其中<form>标记指向您的网页,然后在页面加载时使用Javascript提交表单。