If-Match ãããã¼
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
HTTP ã® If-Match ãªã¯ã¨ã¹ããããã¼ã¯ããªã¯ã¨ã¹ããæ¡ä»¶ä»ãã«ãã¾ãã
ãµã¼ãã¼ã¯ãGET ããã³ HEAD ã¡ã½ããã«å¯¾ãã¦ã¯ãªã½ã¼ã¹ãè¿ããPUT ãªã©ã®å®å
¨ã§ãªãã¡ã½ããã«å¯¾ãã¦ã¯ãªã½ã¼ã¹ãã¢ãããã¼ããã¾ããããããã¯ããªã½ã¼ã¹ã If-Match ãªã¯ã¨ã¹ããããã¼å
ã® ETag å¤ã®ããããã¨ä¸è´ããå ´åã«ã®ã¿è¡ããã¾ãã
æ¡ä»¶ãæºããããªãå ´åã代ããã« 412 Precondition Failed ã¬ã¹ãã³ã¹ãè¿ããã¾ãã
æ ¼ç´ããã ETag ã¨ã®æ¯è¼ã§ã¯ãå¼·ãæ¯è¼ã¢ã«ã´ãªãºã ã使ç¨ãã¤ã¾ã 2 ã¤ã®ãã¡ã¤ã«ããã¤ãåä½ã§åä¸ã§ããå ´åã®ã¿åä¸ã¨ã¿ãªãã¾ããåæããã ETag ã« W/ æ¥é è¾ãã¤ãã¦ããå ´åã¯ãå¼±ãã¨ã³ãã£ãã£ã¿ã°ã§ãããã¨ã示ãããã®æ¯è¼ã¢ã«ã´ãªãºã ã§ã®æ¯è¼ã¯è¡ããã¾ããã
ä¸è¬çãªä½¿ç¨ä¾ã¯ 2 ã¤ããã¾ãã
GETããã³HEADã¡ã½ããã®å ´åã¯ãRangeãããã¼ã¨çµã¿åããã¦ä½¿ç¨ããããªã¯ã¨ã¹ããããæ°ããç¯å²ã以åã®ãã®ã¨åããªã½ã¼ã¹ããã®ãã®ã§ãããã¨ãä¿è¨¼ãããã¨ãã§ãã¾ãã- ä»ã®ã¡ã½ãããç¹ã«
PUTã®å ´åã¯ãIf-Matchã使ç¨ãã¦æ´æ°ããã°ã©ã ã失ãããåé¡ãé²ããã¨ãã§ãã¾ãã ã¦ã¼ã¶ã¼ãã¢ãããã¼ãããããªã½ã¼ã¹ã®å¤æ´ããå ã®ãªã½ã¼ã¹ããã§ãããããå¾ã«è¡ãããå¥ã®å¤æ´ã䏿¸ãããªããã©ããã確èªã§ãã¾ãã
| ãããã¼ç¨®å¥ | ãªã¯ã¨ã¹ããããã¼ |
|---|---|
| ç¦æ¢ãªã¯ã¨ã¹ããããã¼ | ããã |
æ§æ
If-Match: <etag_value>
If-Match: <etag_value>, <etag_value>, â¦
ãã£ã¬ã¯ãã£ã
<etag_value>-
ãªã¯ã¨ã¹ãããããªã½ã¼ã¹ã䏿ã«è¡¨ãã¨ã³ãã£ãã£ã¿ã°ã§ãã äºéå¼ç¨ç¬¦ã®éã«ç½®ããã ASCII æåå (
"675af34563dc-tr34"ãªã©) ã§ãã ãããã®ã¿ã°ã¯ãå¼±ãããã¨ãã¤ã¾ããæå³çã«ã¯ãªã½ã¼ã¹ã表ç¾ãã¦ãããããã¤ãåä½ã®ä¸è´ã示ãã¦ããªããã¨ã示ãããã«ãW/ã¨ããæ¥é è¾ãä»ãããã¨ãã§ãã¾ãã ããããIf-Matchãããã¼ã§ã¯ãå¼±ãã¨ã³ãã£ãã£ã¿ã°ã¯ä¸è´ãããã¨ã¯ããã¾ããã *-
ã¢ã¹ã¿ãªã¹ã¯ã¯ä»»æã®ãªã½ã¼ã¹ã表ãç¹æ®ãªå¤ã§ãã ãªãããªãªã¸ã³ãµã¼ãã¼ã§ã¿ã¼ã²ãããªã½ã¼ã¹ã«ã¤ãã¦ã®ç¾å¨ã®è¡¨ç¾ãããªãå ´åã
falseã¨ãã¦ä¸è´ãã¾ãã
ä¾
If-Match: "bfc13a64729c4290ef5b2c2730249c88ca92d82d"
If-Match: "67ab43", "54ed21", "7892dd"
If-Match: *
仿§æ¸
| 仿§æ¸ |
|---|
| HTTP Semantics > # field.if-match > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
ETagIf-None-Match,If-Modified-Since,If-Unmodified-Sinceconditional request headers412 Precondition Failed