Last-Modified : The last modified date for the requested object
If-Modified-Since : Allows a 304 Not Modified to be returned if last modified date is unchanged.
ETag : An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL. If the resource representation at that URL ever changes, a new and different ETag is assigned.
If-None-Match : Allows a 304 Not Modified to be returned if ETag is unchanged.
the browser store cache with a date(Last-Modified) or id(ETag), when you need to request the URL again, the browser send request message with the header:
the server will return 304 when the if statement is False, and browser will use cache.