The Fedora API introduced the idea of a State Token and how it might differ from an Entity Tag (eTag).
In practice Fedora provides Weak Entity Tags as they will change depending on the triples included/excluded and the serialization of RDF, whereas the X-State-Token will not change.
See the below examples of eTags and X-State-Tokens for actions on a single Basic Container
Action | eTag | X-State-Token | Notes |
---|---|---|---|
POST the parent | W/"63308D06722679297E2D72CFC2A5AD75" | D5314A1458B9FE4EBA294E7A0D195269 | |
GET the parent | W/"63308D06722679297E2D72CFC2A5AD75" | D5314A1458B9FE4EBA294E7A0D195269 | Accept: text/turtle |
POST 1 child to the parent and GET | W/"EE74DED5B083D2F9F9F35E3F48650D84" | D5314A1458B9FE4EBA294E7A0D195269 | Accept: text/turtle |
POST 20 children to the parent and GET | W/"433BFD1C8F1D60EBC9E98BB16A4216F7" | D5314A1458B9FE4EBA294E7A0D195269 | Accept: text/turtle |
PATCH the parent to add a title and GET | W/"DB8AF55FD9560A2B8D4723E0EA1284C0" | 839BE7D03AFA55707C9B44063489CCEB | Accept: text/turtle |
GET with different serialization | W/"88B0A0A85859B4D665B4BC78616E1254" | 839BE7D03AFA55707C9B44063489CCEB | Accept: text/n3 |
The X-State-Token will not change based on serialization (via Accept header) or RDF triple inclusion/exclusion (via Prefer: return=representation).