Location
首部指定的是需要将页面重新定向至的地址。一般在响应码为3xx的响应中才会有意义。
发送新请求,获取Location指向的新页面所采用的方法与初始请求使用的方法以及重定向的类型相关:
303
(See Also) 始终引致请求使用GET
方法,而,而307
(Temporary Redirect) 和308
(Permanent Redirect) 则不转变初始请求中的所使用的方法;301
(Permanent Redirect) 和302
(Found) 在大多数情况下不会转变初始请求中的方法,不过一些比较早的用户代理可能会引发方法的变更(所以你基本上不知道这一点)。
状态码为上述之一的所有响应都会带有一个Location首部。
除了重定向响应之外, 状态码为 201
(Created) 的消息也会带有Location首部。它指向的是新创建的资源的地址。
Location
与 Content-Location
是不同的,前者(Location
)指定的是一个重定向请求的目的地址(或者新创建的文件的URL),而后者( Content-Location
) 指向的是经过内容协商后的资源的直接地址,不需要进行进一步的内容协商。Location 对应的是响应,而Content-Location对应的是要返回的实体。
Header type | Response header |
---|---|
Forbidden header name | no |
语法
Location: <url>
指令
- <url>
- 相对地址(相对于要访问的URL)或绝对地址。
示例
Location: /index.html
规范
Specification | Title |
---|---|
RFC 7231, section 7.1.2: Location | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
浏览器兼容性
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |