HTTP 状态码 301 和 308 用于永久重定向请求,表明请求的资源被永久迁移到了新的URL。永久重定向适用于网站重构或从 HTTP 迁移到 HTTPS。
301 和 308 之间的区别在于, 301 重定向的情况下,客户端会将重定向请求转换为 GET 请求,308 则会保留原始请求方法。
所以,在POST请求的永久重定向请求中,我们需要使用308,保证重定向之后,可以发送相同的请求到目标URL。
postman可以,Java代码中不可以。308状态码可能会碰到客户端不支持的情况,那么Java 中的HttpURLConnection支不支持呢?
https://bugs.openjdk.org/browse/JDK-8292281
想到这里应问题应该能用正确的方法解决了,正确解决不让客户端不重定向。Http状态码这个东西很重要,网络排查能力也很重要。