Identification is with a version "tag" (version_tag) and/or a modification date-time. This version functionality connects resource modifications to the HTTP caching and operation contraint mechanisms. The version "tag" is used directly as the HTTP ETag
, for example, in the ETag
or If-None-Match
header fields. The modification date is used in the Last-Modified
and If-Modified-Since
fields.
Applications should be designed to assign a verion tag to each resource modification.
For HTTP constraints to operate correctly, the application must send either the modification date and/or the tag when replying with resource content. Constraints can be checked automatically or explicitly by the application prior to responding to a method.
Public Types | |
typedef restcgi::version_tag | tag_type |
tag type | |
typedef restcgi::date_time | date_time_type |
date-time type | |
Public Member Functions | |
version () | |
Construct. | |
version (const tag_type &tag, const date_time_type &dt=date_time_type()) | |
Construct. | |
version (const date_time_type &dt, const tag_type &tag=tag_type()) | |
Construct. | |
bool | is_null () const |
Test if null. | |
const tag_type & | tag () const |
Get tag. | |
date_time_type | date_time () const |
Get modification date-time. |