fastify-disablecache v4.0.1
fastify-disablecache
Fastify plugin to disable client-side caching
Overview
Inspired by nocache, the fastify-disablecache plugin sets the following response headers and values to disable client-side caching:
Cache-Control: no-store, max-age=0, must-revalidate
Expires: 0
Pragma: no-cache
Surrogate-Control: no-storeThis plugin was created out of a need for an easy way to disable client-side caching for data received from backend APIs. This ensures data is always current when called by applications.
Why these headers?
Cache-Control- Primary response header for configuring cache controls since HTTP/1.1; whilstno-storeis the directive to disable caching, clients such as Internet Explorer did not use it, thus the addition ofmax-age=0, must-revalidateExpires- Included for backwards compatibility with HTTP/1.0 cachesPragma- Included for backwards compatibility with HTTP/1.0 caches, was used by Internet ExplorerSurrogate-Control- Not a standardised response header but is used by CDNs and reverse proxies for cache control
Installation
Install using npm:
npm i fastify-disablecacheFor Fastify v4.x support, use fastify-disablecache@3.1.9.
Example usage
const Fastify = require("fastify");
const disableCache = require("fastify-disablecache");
const server = Fastify();
server.register(disableCache);
server.get("/", (_req, res) => {
res.send("ok");
});
server.listen(3000, (err) => {
if (err) throw err;
console.log("Server listening on 3000");
});Contributing
Contributions are welcome, and any help is greatly appreciated!
See the contributing guide for details on how to get started. Please adhere to this project's Code of Conduct when contributing.
Acknowledgements
- Aras Abbasi - TypeScript support
- Evan Hahn - nocache developer
- Matteo Collina - Optimisation suggestions
License
fastify-disablecache is licensed under the MIT license.
11 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago