/
973.txt
65 lines (42 loc) · 3.95 KB
/
973.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
[19] [DFN[[RUBYB[[[ロックトークン]]]@en[lock token]]]]は、[[ロック]]を表す[[状態トークン]]です。
* 仕様書
[REFS[
- [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-6.1>
- [2] '''[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-6.5>'''
- [37] [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-14.1>
- [15] [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-14.14>
]REFS]
* 意味
[3] [[ロックトークン]]は、特定の[[ロック]]を識別する[[状態トークン]]です。
[[ロック]]はちょうど1つだけ[[ロックトークン]]を持ちます。 [SRC[>>2]]
[4] [[ロックトークン]]は、[[鯖]]が[[生成]]した大域的に固有な識別子です [SRC[>>2]]。
[[クライアント]]はこれを解釈しようと試みては[['''なりません''']] [SRC[>>2]]。
[5] [[ロックトークン]]は、すべての時刻のすべての[[資源]]について固有でなければなりません [SRC[>>2]]。
* 構文
[11] [[UUID]] を [CODE(URI)@en[[[urn:uuid:]]]] [[URL]] の形で[[ロックトークン]]として使うことが[RUBYB[推奨]@en[encourage]]されています [SRC[>>2]]。
[12] しかしそれ以外の [[URL]] を使っても構いません [SRC[>>2]]。
[14] [CODE(URI)@en[[[opaquelocktoken:]]]] [[URL scheme]] は[[ロックトークン]]として使うために定義されました。
* 文脈
[7] [CODE(HTTP)@en[[[LOCK]]]] [[要求]]によって新しい[[ロック]]が作成された時には、
[[応答]]の [CODE(HTTP)@en[[[Lock-Token:]]]] [[ヘッダー]]と[[本体]]に[[ロックトークン]]が指定されます [SRC[>>2]]。
[13] [[ロックトークン]]が [CODE(HTTP)@en[[[If:]]]] [[ヘッダー]]に指定されることを、
「[[提出]]」されるといいます [SRC[>>1]]。
[6] [[クライアント]]は、[[ロック]]を返した[[資源]]以外の[[要求]]においても[[ロックトークン]]を[[提出]]して構いません [SRC[>>2]]。
[8] [[鯖]]は[[ロックトークン]]を [CODE(URI)@en[[[DAV:lockdiscovery]]]]
[[特性]]などで公開しても構いません。[[資源]]の所有者が解放されない[[ロック]]を解放したいときなどにこれを利用できます。 [SRC[>>2]]
[9] [CODE(HTTP)@en[[[UNLOCK]]]] [[要求]]に[[ロックトークン]]を指定することによって、
[[ロック]]を解放することができます [SRC[>>1]]。
ただし[[ロック]]を解放できるのは[[ロック作成者]]と[[特権]]を持った [[principal]]
のみです。
[10] [[ロック作成者]]以外の[[クライアント]]は[[利用者]]の手引きなく[[ロックトークン]]を使う[['''べきではありません''']] [SRC[>>2]]。
* [CODE(XMLe)@en[locktoken]] 要素 (WebDAV)
[16] [CODE(URI)@en[[[DAV:]]]] [[名前空間]]の [DFN[[CODE(XMLe)@en[[[locktoken]]]]]]
[[要素]]は、[[ロック]]に関連付けられた[[ロックトークン]]を表します [SRC[>>15]]。
[17] [[内容]]は、[[要素内容]]で、 [CODE(XMLe)@en[[[href]]]] [[要素]]1つです。
[[ロックトークン]]の [[URL]] を含めます。 [SRC[>>15]]
[36] [CODE(XMLe)@en[[[locktoken]]]] [[要素]]は
[CODE(XMLe)@en[[[activelock]]]] [[要素]]の[[子要素]]として使うことができます [SRC[>>37]]。
* 歴史
[18] [[RFC 2518]] では例示で [DFN[[CODE(URI)@en[[[locktoken:]]]]]]
という [[URL scheme]] が用いられていました。 [[RFC 4918]]
では使われていないようです。