含义
资源暂时位于另一个 URL,客户端必须用相同的方法和请求体在那里重发请求。
常见原因
- 浏览器内部基于 HSTS 从 http 跳到 https
- API 端点临时迁移
- 负载均衡器重定向到另一个区域
解决方法
客户端或访问者
向 Location 重发同样的请求,包括 POST 请求体。检查你的 HTTP 客户端是否会对非 GET 方法跟随 307。
网站或 API 的维护者
当 POST、PUT 或 DELETE 不能被改成 GET 时,用 307 代替 302。
响应示例
HTTP/1.1
HTTP/1.1 307 Temporary Redirect
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: https://api.example.com/v2/upload
Content-Length: 0 规范
常见问题
› 为什么 Chrome 里显示 307 Internal Redirect?
该网站在 HSTS 列表中,Chrome 在请求发出之前就自己把 http 升级成了 https。
› 307 和 308 的区别?
两者都保留方法;307 是临时的,308 是永久的。