/
71.txt
57 lines (39 loc) · 3.86 KB
/
71.txt
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
[419] [DFN[[CODE(HTTP)[[[404]]]]]] ([DFN[[[Not Found]]]])
は、[[対象資源]]が存在しないか、存在を明確にしたくないことを表します。
* 仕様書
[REFS[
- [414] '''[CITE@en[RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]] ([TIME[2014-08-07 05:54:02 +09:00]] 版) <https://tools.ietf.org/html/rfc7231#section-6.5.4>'''
- [413] [CITE@en[RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]] ([TIME[2014-08-07 05:54:02 +09:00]] 版) <https://tools.ietf.org/html/rfc7231#section-6.5.3>
- [1] [CITE@en[RFC 4918 - HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)]] ([TIME[2014-09-21 17:04:59 +09:00]] 版) <http://tools.ietf.org/html/rfc4918#section-9.1>
]REFS]
* 意味
[416] [CODE(HTTP)[[[404]]]] は、[[起源鯖]]が[[対象資源]]の現在の[[表現]]を見つけられなかったか、
その存在を明らかにしたくないことを表します [SRC[>>414]]。
[412] [[起源鯖]]は、[[対象資源]]の存在をも隠したいときは、
[CODE(HTTP)[[[403]]]] ではなく [CODE(HTTP)[[[404]]]] を使っても構いません [SRC[>>413]]。
[417] [CODE(HTTP)[[[404]]]] は、[[対象資源]]の[[表現]]の不存在が一時的なものか、
永続的なものかは示しません。永続的なものであろうと[[起源鯖]]が分かっている時は、
[CODE(HTTP)[[[410]]]] がより好ましいです [SRC[>>414]]。
* 文脈
[2] [CODE(HTTP)@en[[[PROPFIND]]]] [[要求]]に対する[[応答]]の [CODE(XMLe)@en[[[multistatus]]]]
[[要素]]中の [CODE(XMLe)@en[[[status]]]] では、指定された[[特性]]が存在しなかったことを表すために使います [SRC[>>1]]。
* 処理
[418] [CODE(HTTP)[[[404]]]] [[応答]]は、[[キャッシュ可能]]です [SRC[>>414]]。
* 歴史
[FIG(quote)[
[FIGCAPTION[
[415] RFC 1945 (HTTP/1.0); RFC 2068 & 2616 (HTTP/1.1) 10.4.5 404 Not Found
]FIGCAPTION]
> The server has not found anything matching the Request-URI. No
indication is given of whether the condition is temporary or permanent.
サーバーは [CODE(ABNF)[[[Request-URI]]]] と一致するものを見つけられませんでした。
条件が一時的なものか永続的なものかの案内はありません。
>[DEL[[INS[{1945,2068}]] If the server does not wish to make this information available to the client, the status code 403 ([DEL[[INS[{1945}]] forbidden]] [INS[Forbidden]]) can be used instead.]] [INS[[INS[{2068,2616}]] The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.]] [INS[[INS[{2616}]] This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.]]
;[DEL[サーバーがこの情報をクライアントに知らせたくないと思うのであれば、代わりに状態符号 [CODE(HTTP)[[[403]]]] (禁止) を使うことができます。]] [INS[何らかの内部的な設定機構によって、古い資源が永続的に利用不能となり、転送番地もないとサーバーが知っている時には、 [CODE(HTTP)[[[410]]]] (逝去) 状態符号を使用する'''べきです'''。 [INS[この状態符号 [INS[[INS[(訳注)]] [CODE(HTTP)[404]]]] は、要求を拒否する実際の理由を晒したくないとサーバーが思っている時や、他の応答が適当でない時に広く使われています。]]]]
]FIG]
[411] [CITE@en[RFC 7252 - The Constrained Application Protocol (CoAP)]]
( ([TIME[2014-06-27 00:59:37 +09:00]] 版))
<http://tools.ietf.org/html/rfc7252#section-5.9.2.5>
[420] [CITE@en[RFC 3507 - Internet Content Adaptation Protocol (ICAP)]]
( ([TIME[2014-06-08 07:17:07 +09:00]] 版))
<http://tools.ietf.org/html/rfc3507#section-4.3.3>