An ETag is a version tag the server returns with a resource; If-None-Match on GET gives 304 to save bandwidth, and If-Match on update gives 412 to prevent overwriting a change you did not see.