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

浏览器兼容性

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes Yes Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes Yes Yes Yes Yes

相关内容

文档标签和贡献者

此页面的贡献者: WayneCui
最后编辑者: WayneCui,