Example scenario
Say there's a resource at /some-view that displays a list based off a database query e.g.
- item 1
- item 2
- item 3
Client X makes the first request to /some-view, the server processes the response, caches it, generates an etag, and sends that back with a 200.
Now some time has passed, and the list at /some-view includes another item
- item 1
- item 2
- item 3
- item 4
Assuming Client X sends the first request again, will the server respond with a 304 until another request, e.g. Client Y, forces the generation of a new etag value, or does the server actually process the response and compare that with the current etag to determine if it's still valid? Maybe different web servers handle it differently?