302重定向是否支持方法转发?

问题描述:

我们公司有一个快捷服务,它基本上提供了短别名到完整URL的重定向。该服务器运行简单的http重定向()服务,该服务使用主机请求标头对基于文件系统的数据存储执行查找。302重定向是否支持方法转发?

我有一个Resful网络Applciation和所有GET请求正在然而OK POST/PUT请求不会到达服务器。

默认情况下302“重定向”是保留原始请求的方法还是被GET类型覆盖?

302通常按照303所指定的方式实现。要保留原始方法,请使用307。

又见HTTP status code definitions302部分:

注:RFC 1945和RFC 2068指定客户端不允许 改变方法的重定向请求。但是,大多数现有的用户代理实现将302视为响应,如果是原始请求方法,则在位置字段值上执行GET,而不管 。状态码303和307已添加 用于希望明确清楚客户端期望哪种类型的反应的服务器。

303指定应该通过GET请求新位置。 307保持原来的方法。

+0

你可能想看看最新的

+0

@ Julian:它仍然是一个草案,但在该草案中,307指定*“...并且用户代理不得更改请求方法...”*这正是OP所需要的(并且已经通过我的回答得到了回答)。 – BalusC

+0

@Balucs:这是最后一次通话中的草稿,从未有过12年。它比RFC 2616更好地描述了现实。 –

对于302,POST始终被重写为GET。其他方法有时(取决于浏览器的破坏程度,请参阅http://greenbytes.de/tech/tc/httpredirects/)。