2016-12-06 104 views
1

在用於更改數據的OData世界中,有一個樂觀的併發控制將標記在http標頭etag上。什麼是強etag

etag值有兩種可用選項,強模式和弱模式。

我的問題,這兩個選項有什麼區別?

回答

2

弱實體標籤由一個帶有弱點指標前綴的不透明引用字符串組成。

entity-tag = [ weak ] opaque-tag 
    weak  = "W/" 
    opaque-tag = quoted-string 

實體標籤用於比較來自同一請求資源的兩個或多個實體。

只有在相同的情況下,「強實體標籤」纔可以被資源的兩個實體共享。

只有當實體在語義上等價並且可以相互替換而沒有語義上的顯着變化時,由「W /」前綴指示的「弱實體標籤」可以由資源的兩個實體共享。弱實體標籤只能用於弱比較。

下面的例子示出了用於一組實體標籤對和兩個弱和強的比較函數結果的結果:

ETag 1 ETag 2 Strong Comparison Weak Comparison 
--------------------------------------------------- 
W/"1" W/"1" no match   match 
W/"1" W/"2" no match   no match 
W/"1" "1"  no match   match 
"1"  "1"  match    match