I am trying to learn some basics about HTTP. I've inspected a some HTTP response headers and noticed 2 things that confused me:
There was no cache-control header and
ETag header was present.
The way I understood ETag is that, client sends ETag in a requests to a cache, and cache revalidates resources Etag with the server. But if there is no Cache-Control header in response, than all subsequent requests do the revalidation directly with the server and completely omit cache. Is this the case or am I missing something? Does something else happen when there is no cache-control header present in response? Why is ETag even present if all request will go to the server directly anyway?