Caching headers
The CachingHeaders plugin adds the capability to configure the Cache-Control
and Expires
headers used for HTTP caching. You can introduce different caching strategies for specific content types, such as images, CSS and JavaScript files, and so on.
Add dependencies
To use CachingHeaders
, you need to include the ktor-server-caching-headers
artifact in the build script:
Install CachingHeaders
To install the CachingHeaders
plugin, pass it to the install
function in the application initialization code. Depending on the way used to create a server, this can be the embeddedServer
function call ...
... or a specified module.
After installing CachingHeaders
, you can configure caching settings for various content types.
Configure caching
To configure the CachingHeaders
plugin, you need to define the options function to provide specified caching options for a given ApplicationCall
and content type. The code snippet from the caching-headers example shows how to add the Cache-Control
header with the max-age
option for CSS and JSON:
The CachingOptions object accepts Cache-Control
and Expires
header values as parameters:
The
cacheControl
parameter accepts a CacheControl value. You can useCacheControl.MaxAge
to specify themax-age
parameter and related settings, such as visibility, revalidation options, and so on. You can disable caching by usingCacheControl.NoCache
/CacheControl.NoStore
.The
expires
parameter allows you to specify theExpires
header as aGMTDate
orZonedDateTime
value.