Imagine your client thinks a resource is not existing at the server and wants to put only one resource in this case on the server.
If two such clients are operating they both might think the resource doesn't exist and perform their puts concurrently. Without the If-None-Match: *
header they both do the PUT request. With this header one client will fail (seeing a 304 - Not Modified
).