In a non-production environment (or pre-golive production environment), you are using an invalid or self-signed SSL certificate. You notice that when accessing the site via https, no responses from the web server (AEM dispatcher) are getting cached in Chrome browser.
Even if you have set Cache-Control: max-age=... header and Last-Modified header is present, you still don't observe any caching. Also, you observe that the If-Modified-Since request header isn't sent from the Chrome browser when the same file is loaded again.
This is a known issue with Chrome browser. It does not cache responses if the HTTPS connection is using an invalid Certificate. See this bug report for details:
https://bugs.chromium.org/p/chromium/issues/detail?id=110649#c8