Home

IfNoneMatch

IfNoneMatch is an HTTP request header used to make a request conditional on the current state of a resource, as identified by its ETag (entity tag). Clients send one or more ETag values, or the special value "*", to indicate that the request should proceed only if the resource’s current ETag does not match any of the listed values or, in the case of "*", that the resource does not exist. This enables cache validation and optimistic concurrency control.

Syntax and values

The header’s value consists of a comma-separated list of ETag values. Each value is an ETag, which

Behavior by method

- GET and HEAD: If the resource’s current ETag matches any value in the list, the server may

- Methods that modify state (such as PUT, POST, DELETE, PATCH): If the condition is not met (a

Relation to ETag

IfNoneMatch relies on ETag values provided by the server as validators of resource state. It is often

See also

ETag, If-Match, Cache-Control, Last-Modified, RFC 7232.

may
be
strong
(quoted)
or
weak
(prefixed
with
W/).
The
asterisk
"*"
is
a
special
value
meaning
“any
current
entity.”
When
using
"*",
the
condition
applies
to
the
existence
of
the
resource
rather
than
to
a
specific
ETag.
respond
with
304
Not
Modified
(no
body).
If
there
is
no
match,
the
server
returns
the
full
representation
with
200
OK.
In
practice,
a
match
typically
indicates
the
client
already
has
the
latest
version.
matching
ETag
exists),
the
server
commonly
responds
with
412
Precondition
Failed.
The
special
value
"*"
is
often
used
with
PUT
to
indicate
creation
only
if
the
resource
does
not
already
exist;
if
the
resource
exists,
the
request
fails
with
412.
used
in
conjunction
with
caching
mechanisms
and
with
concurrent
updates
to
prevent
unnecessary
data
transfer
or
conflicting
changes.