blob: e7a1fa39ba2aa8ed1ac0348be56d55b62210c820 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
---
title: Location
slug: Web/HTTP/Headers/Location
tags:
- 响应首部
- 超文本传输协议
- 首部
translation_of: Web/HTTP/Headers/Location
---
<div>{{HTTPSidebar}}</div>
<p><strong><code>Location</code></strong> 首部指定的是需要将页面重新定向至的地址。一般在响应码为3xx的响应中才会有意义。</p>
<p>发送新请求,获取Location指向的新页面所采用的方法与初始请求使用的方法以及重定向的类型相关:</p>
<ul>
<li>{{HTTPStatus("303")}} (See Also) 始终引致请求使用 {{HTTPMethod("GET")}} 方法,而,而 {{HTTPStatus("307")}} (Temporary Redirect) 和 {{HTTPStatus("308")}} (Permanent Redirect) 则不转变初始请求中的所使用的方法;</li>
<li>{{HTTPStatus("301")}} (Permanent Redirect) 和 {{HTTPStatus("302")}} (Found) 在大多数情况下不会转变初始请求中的方法,不过一些比较早的用户代理可能会引发方法的变更(所以你基本上不知道这一点)。</li>
</ul>
<p>状态码为上述之一的所有响应都会带有一个Location首部。</p>
<p>除了重定向响应之外, 状态码为 {{HTTPHeader("201")}} (Created) 的消息也会带有Location首部。它指向的是新创建的资源的地址。</p>
<p><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Location" title="此页面仍未被本地化, 期待您的翻译!"><code>Location</code></a> 与 <code>Content-Location</code>是不同的,前者(<a href="https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Location" title="此页面仍未被本地化, 期待您的翻译!"><code>Location</code></a> )指定的是一个重定向请求的目的地址(或者新创建的文件的URL),而后者( <code>Content-Location</code>) 指向的是经过内容协商后的资源的直接地址,不需要进行进一步的内容协商。Location 对应的是响应,而Content-Location对应的是要返回的实体。</p>
<table class="properties">
<tbody>
<tr>
<th scope="row">Header type</th>
<td>{{Glossary("Response header")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>no</td>
</tr>
</tbody>
</table>
<h2 id="语法">语法</h2>
<pre class="syntaxbox">Location: <url>
</pre>
<h2 id="指令">指令</h2>
<dl>
<dt><url></dt>
<dd>相对地址(相对于要访问的URL)或绝对地址。</dd>
</dl>
<h2 id="示例">示例</h2>
<pre>Location: /index.html</pre>
<h2 id="规范">规范</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Title</th>
</tr>
<tr>
<td>{{RFC("7231", "Location", "7.1.2")}}</td>
<td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td>
</tr>
</tbody>
</table>
<h2 id="浏览器兼容性">浏览器兼容性</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("http.headers.Location")}}</p>
<h2 id="相关内容">相关内容</h2>
<ul>
<li>{{HTTPHeader("Content-Location")}}</li>
<li>包含 <code>Location</code> 首部的响应状态码: {{HTTPStatus("201")}}, {{HTTPStatus("301")}}, {{HTTPStatus("302")}}, {{HTTPStatus("303")}}, {{HTTPStatus("307")}}, {{HTTPStatus("308")}}。</li>
</ul>
|