In ASP.NET Core caching is solved as a middleware service that comes with Microsoft.AspNetCore.ResponseCaching NuGet package. In MVC, caching is driven by the ResponseCache attribute. Its possible to use the ResponseCache attribute without also response caching the middleware to just set response headers. This way, it is possible to tell the browser to cache content, and also cache or proxy servers on the way that can read these headers to find out how to cache page.
ASP.NET Core Response Cache
See the original posting on DZone Python
Where is the output cache in ASP.NET Core? Is it gone? No, its there but in new and better extensible form, and it is called now response caching. This blog post shows how to use response caching on ASP.NET Core and provides tips about some of the internals of it.