-
Notifications
You must be signed in to change notification settings - Fork 4
/
563.txt
139 lines (111 loc) · 3.98 KB
/
563.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
[2]
[DFN[[RUBYB[プッシュメッセージ受領証][push message receipt]]]]は、
[[プッシュサービス]]から[[アプリケーションサーバー]]へ送信される[RUBYB[メッセージ配送確認です][message delivery confirmation]]。
[SRC[>>1 1.1.]]
[15]
[[仕様書]]では
receipt、
delivery reciept、
receipt of the message
receipt of the push message
と呼んだり、
機能として
delivery confirmation
と呼んだりしています。
[[利用者エージェント]]がこれを送信することを
acknowledge
と呼んでいます。
[REFS[
- [1] [CITE@en[RFC 8030 - Generic Event Delivery Using HTTP Push]], [TIME[2020-03-09 00:13:33 +09:00]] <https://tools.ietf.org/html/rfc8030>
]REFS]
[3]
[DFN[[RUBYB[受領証購読資源][receipt subscription resource]]]]
([[リンク関係型]] [DFN[[CODE[urn:ietf:params:push:receipt]]]])
は、
[[アプリケーションサーバー]]が[[プッシュメッセージ]]の配送確認を受信するものです。
[SRC[>>1 2.1.]]
[4]
[[アプリケーションサーバー]]は、
[[プッシュ資源]]への[[要求]]
([[プッシュメッセージ]]の送信)
で、
配送確認を要求できます。
[[アプリケーションサーバー]]は[[受領証購読資源]]を作成し、
[[応答]]で通知します。
[SEE[ [[プッシュ資源]] ]]
[5]
[[プッシュサービス]]は、
[RUBYB[配送確認][delivery confirmation]]に対応しなければ[MUST[なりません]]
[SRC[>>1 5.1.]]。
[[アプリケーション]]は[[プッシュメッセージ資源]]に
[CODE[DELETE]]
[[要求]]を送信し、受領を肯定します。
それを踏まえて[[プッシュサービス]]は[[アプリケーションサーバー]]に適切に[[応答]]します。
[13]
[[プッシュサービス]]は、
[[受領証購読]]を終了 ([[満期]]) できます。
[SRC[>>1 7.3.]]
-*-*-
[10]
[[アプリケーションサーバー]]は、
[[受領証購読資源]]に対し、
[CODE[GET]]
[[要求]]を送信して[[受領証]]の配送を要求します。
[SRC[>>1 6.3.]]
-*-*-
[12]
[[プッシュサービス]]は、
[[受領証購読資源]]が[[満期]]の場合、
[CODE[404]]
[[応答]]を返さなければ[MUST[なりません]]。
[SRC[>>1 7.3.]]
-*-*-
[31]
[[プッシュサービス]]は、
[[要求]]に対して[[応答]]しません。
[[HTTP/2 server push]]
によって[[受領証]]を送信します。
[SRC[>>1 6.3.]]
[40]
[[プッシュサービス]]は、[[受領証]]ごとに、
[CODE[PUSH_PROMISE]]
で
[CODE[GET]] [[要求]]を[[利用者エージェント]]に送信します。
この [CODE[GET]]
[[要求]]は、
[[プッシュメッセージ資源]]を取得するものです。
[SRC[>>1 6.3.]]
[11]
それに対する[[応答]]は、
[[プッシュメッセージ]]配送の結果を表します。データは含みません。
[SRC[>>1 6.3.]]
[6]
配送確認を受け取れるかどうかは [CODE[TTL:]] の影響を受けます。
[7]
[CODE[Topic:]] の重複により置き換えられた古い[[プッシュメッセージ]]については、
[[利用者エージェント]]から遅れて配送肯定が届いても、
受領証は抑制する[SHOULD[べきです]]。
[SRC[>>1 5.4.]]
[8]
[[プッシュサービス]]は、
[[プッシュメッセージ応答]]が [CODE[DELETE]]
された場合、
[[アプリケーションサーバー]]に
[CODE[204]]
[[応答]]を返さなければ[MUST[なりません]]。
[SRC[>>1 6.2., 6.3.]]
[9]
[[プッシュサービス]]は、
[CODE[TTL:]] 到来前に[[プッシュメッセージ]]の配送を断念した場合、
[[アプリケーションサーバー]]に
[CODE[410]]
[[応答]]を返さなければ[MUST[なりません]]。
[SRC[>>1 6.2., 6.3.]]
-*-*-
[14]
[[アプリケーションサーバー]]は、
[[受領証購読資源]]に
[CODE[DELETE]]
[[要求]]を送信して、
削除できます。
[SRC[>>1 7.3.]]