我们公司有一个快捷服务,基本上提供短别名重定向到完整的URL。服务器运行一个简单的http重定向( 302 )服务,该服务使用Host请求标头对基于文件系统的数据存储区执行查找。
我有一个Resful Web Applciation,所有 GET 请求都正常,但是 POST / PUT 请求没有到达服务器。
默认情况下302“重定向”是保留原始请求的方法还是被GET类型覆盖?
答案 0 :(得分:1)
302通常按照303的规定实现。要保留原始方法,请改用307。
另请参阅302的<{3}}部分:
注意:RFC 1945和RFC 2068指定不允许客户端 更改重定向请求的方法。但是,大多数 现有的用户代理实现将302视为303 响应,无论如何都对位置字段值执行GET 原始请求方法。状态代码303和307具有 已添加到希望明确清楚哪些服务器的服务器 对客户的反应是预期的。
HTTP status code definitions指定GET请求新位置。 303保留原始方法。
答案 1 :(得分:1)
对于302,POST总是被重写为GET。其他方法有时(取决于浏览器的破坏程度,请参阅http://greenbytes.de/tech/tc/httpredirects/)。