[5] [DFN[[CODE(HTTP)[[[423]]]]]] ([DFN[[[Locked]]]]) は、処理の対象となる[[資源]]が[[ロック]]されていることを表す[[状態符号]]です。

* 仕様書

[REFS[
- [33] [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-7.4>
- [12] [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.6>
- [11] [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.8>
- [10] [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.9>
- [13] [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.10>
- [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-11.3>'''
- [6] [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-16>
]REFS]

* 意味

[3] [CODE(HTTP)[[[423]]]] は、[[始点資源]]または[[終点資源]]が[[ロック]]されていることを示す[[状態符号]]です [SRC[>>1]]。

* 構文

[4] [CODE(HTTP)[[[423]]]] [[応答]]は、 [CODE(HTTP)[[[lock-token-submitted]]]]
や [CODE(HTTP)[[[no-conflicting-lock]]]] のような適切な[[事前条件符号]]や[[事後条件符号]]を含める[['''べきです''']] [SRC[>>1]]。

[7] 適切な符号が用意されていないエラーの時は空の [[payload body]]
としても構いませんし、独自の[[要素]]で表現しても構いません [SRC[>>6]]。

[8] 次の[[事前条件符号]]や[[事後条件符号]]があります。
[FIG(short list)[
- [CODE(XMLe)@en[[[lock-token-submitted]]]]
- [CODE(XMLe)@en[[[no-conflicting-lock]]]]
]FIG]

* 文脈

[34] [[コレクション]]に対して深さ無限大の[[書き込みロック]]が[[要求]]された場合で、
新しい[[ロック]]と[[衝突]]する形で[[ロック]]されている[[資源]]の[[メンバーURL]]が[[コレクション]]に含まれる場合には、
[CODE(HTTP)[[[423]]]] [[応答]]によりエラーを返さなければなりません。
その際には[[応答]]に[[事前条件]] [CODE@en[[[no-conflicting-lock]]]]
を含める[['''べきです''']]。 [SRC[>>33]]

[9] [[ロック]]が原因で [CODE(HTTP)@en[[[COPY]]]] [SRC[>>11]], [CODE(HTTP)@en[[[MOVE]]]] [SRC[>>10]],
[CODE(HTTP)@en[[[DELETE]]]] [SRC[>>12]] が失敗した場合には、[[状態符号]] [CODE(HTTP)[[[423]]]]
と[[事前条件符号]] [CODE(XMLe)@en[[[lock-token-submitted]]]] を使うことができます [SRC[>>6]]。

[14] [CODE(HTTP)@en[[[LOCK]]]] [[要求]]の[[対象資源]]が[[衝突]]により[[ロック]]できない場合、
[CODE(HTTP)[[[423]]]] [[応答]]を返すことができます [SRC[>>13]]。

* 歴史

[FIG(quote)[
[FIGCAPTION[
[2] RFC 2518 (WebDAV) 10.4 423 Locked
]FIGCAPTION]

> The 423 (Locked) status code means the source or destination resource
of a method is locked.

[CODE(HTTP)[423]] (固定中) 状態符号は、 method の始点資源又は終点資源が固定されていることを意味します。
]FIG]

[FIG(quote)[
[FIGCAPTION[
[15] [CITE@en[Heroku API]]
([TIME[2015-03-06 08:12:49 +09:00]] 版)
<https://legacy-api-docs.herokuapp.com/>
]FIGCAPTION]

> 423 Locked
> This API command requires confirmation. Pass the app name as a confirm parameter.

]FIG]


[16] [CITE@en[RFC 3253 - Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)]]
([TIME[2017-09-17 18:19:04 +09:00]])
<https://tools.ietf.org/html/rfc3253#section-1.8>