0

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

我有一个 Resful Web Applciation 并且所有GET请求都可以正常工作,但是POST/PUT请求没有到达服务器。

302“重定向”是否默认保留原始请求的方法,或者它被 GET 类型覆盖?

4

2 回答 2

1

302一般是按照303的规定来实现的。为了保持原来的方法,改用307。

另请参阅HTTP 状态代码定义的302部分:

注意:RFC 1945 和 RFC 2068 指定不允许客户端更改重定向请求的方法。然而,大多数现有的用户代理实现将 302 视为 303 响应,无论原始请求方法如何,都对 Location 字段值执行 GET。状态码 303 和 307 已被添加用于希望明确明确期望客户端做出何种反应的服务器。

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

于 2013-03-22T13:37:10.163 回答
1

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

于 2013-03-22T14:28:03.747 回答