-
Notifications
You must be signed in to change notification settings - Fork 4
/
322.txt
68 lines (52 loc) · 2.48 KB
/
322.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
58
59
60
61
62
63
64
65
66
67
68
[2] [DFN[[CODE(HTTP)[2[VAR[xx]]]]]] は、成功を表す[[状態符号]]です。
[FIG(short list)[
- [CODE(HTTP)[[[200]]]]
- [CODE(HTTP)[[[201]]]]
- [CODE(HTTP)[[[202]]]]
- [CODE(HTTP)[[[203]]]]
- [CODE(HTTP)[[[204]]]]
- [CODE(HTTP)[[[206]]]]
- [CODE(HTTP)[[[207]]]]
- [CODE(HTTP)[[[226]]]]
]FIG]
* 仕様書
[REFS[
- [1] [CITE@en[RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]]
( ([TIME[2014-06-07 01:55:45 +09:00]] 版))
<https://tools.ietf.org/html/rfc7231#section-6.3>
- [5] [CITE@en-US[Fetch Standard]] ([TIME[2015-09-07 19:46:18 +09:00]] 版) <https://fetch.spec.whatwg.org/#ok-status>
]REFS]
* 意味
[6] [[Fetch Standard]] は [CODE[[[200]]]] [[以上]] [CODE[[[299]]]] [[以下]]の[[状態]]を
[DFN[[RUBYB[OK状態]@en[ok status]]]]と定義しています [SRC[>>5]]。
* 成功との判断
[7] [[応答]]が成功かどうかの判断は、状況によって色々な条件が考えられます。
[8] [[Web API]] の呼び出しなどの極めて単純な [[HTTPクライアント]]による
[[HTTP要求]]を送信して[[応答]]を受信するケースでは、
例えば[[HTTPキャッシュ]]等を使わないので [CODE(HTTP)[206]] や [CODE(HTTP)[304]]
を成功と判断する必要がなかったり (むしろ想定外なのでエラーと判断するべきだったり) します。
あるいは [CODE[207]] は成功と失敗が混在している可能性があり、
[[状態符号]]のみからどちらか判定するのは難しいですが、
[[サーバー]]がこれを返すことはほとんどないので、通常の用途なら想定外なのでエラーと判断するべきと思われます。
[9] そのような極めて単純なケースで成功と判断するべきなのは、次の[[状態符号]]と考えられます。
[FIG(short list)[
- [CODE(HTTP)[200]]
- [CODE(HTTP)[201]]
- [CODE(HTTP)[202]]
- [CODE(HTTP)[203]]
- [CODE(HTTP)[204]]
]FIG]
* 関連
[3] [[警告符号]]の [CODE(HTTP)[[[2xx]]]] とは関係ありません。
* 歴史
[REFS[
- [4] [CITE@en[Define status, ok status, and use them both · whatwg/fetch@159d43c]] ([TIME[2015-09-08 19:57:32 +09:00]] 版) <https://github.com/whatwg/fetch/commit/159d43c7d55e682d7f3fc3cc800d1c004dd183f6>
]REFS]
[FIG(quote)[
[FIGCAPTION[
[10] [CITE@en[Webmention]]
([TIME[2017-01-11 04:06:01 +09:00]])
<https://webmention.net/draft/#h-sender-notifies-receiver>
]FIGCAPTION]
> Any 2xx response code must be considered a success.
]FIG]