const http = require('http')
// Expires
let server = http.createServer((req, res) => {
res.setHeader('Expires', new Date().toGMTString())
res.end('harttle.land')
})
// Cache-Control
let server = http.createServer((req, res) => {
res.setHeader('Cache-Control', 'public, max-age=86400')
res.end('harttle.land')
})
// Etag
let server = http.createServer((req, res) => {
console.log(req.url, req.headers['if-none-match'])
if(req.headers['if-none-match']) {
res.statusCode = 304
res.end()
}else {
res.setHeader('Etag', '12345678')
res.end('harttle.land')
}
})
// Last-Modified
let server = http.createServer((req, res) => {
console.log(req.url, req.headers['if-modified-since'])
if(req.headers['if-modified-since']){
res.statusCode = 304
res.end()
}else {
res.setHeader('Last-Modified', new Date().toISOString())
res.end('harttle.land')
}
})
console.log('server start at http://localhost:3333')
server.listen(3333)
Node实现四种缓存
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Express 作为 Node.js 的框架,如今发展可谓如日中天。我很喜欢其灵活、易扩展的设计理念。尤其是该框架...
- LazyCacheForAndroid项目介绍项目地址LazyCacheForAndroid介绍:这是一个andr...
- volatile是“轻量级”synchronized,保证了共享变量的“可见性”(JMM确保所有线程看到这个变量的...
- 抱歉,其实这篇应该几天前就出的,不过在这个项目中的lucene加载出bug了(虽然还没解决,但缓存的先记录下来,发...