Required dependencies: io.ktor:%artifact_name%
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.
After installing %plugin_name%
, you can configure caching settings for various content types.
To configure the %plugin_name%
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:
{src="snippets/caching-headers/src/main/kotlin/com/example/Application.kt" lines="21-29"}
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.