如图所示
请求中带有If-None-Match和If-Modified-Since头,响应中也含有Etag和Last-Modified头,并且etag相等,Last-Modified也符合。理论上应该返回304 Not Modified吧。可是我试了好几次,每次都是200ok,没有利用缓存。服务端用的是koa和koa-etag中间件。
该怎么办呢?
如图所示
请求中带有If-None-Match和If-Modified-Since头,响应中也含有Etag和Last-Modified头,并且etag相等,Last-Modified也符合。理论上应该返回304 Not Modified吧。可是我试了好几次,每次都是200ok,没有利用缓存。服务端用的是koa和koa-etag中间件。
该怎么办呢?
13 回答12.7k 阅读
7 回答1.8k 阅读
3 回答2.5k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答773 阅读✓ 已解决
2 回答1.9k 阅读
解决了,原因是我的服务端没有写相关处理逻辑,本以为koa-etag和koa-static这两个中间件自动设置的。。。
解决办法是,自己写返回304的逻辑。
通过ctx.fresh来判断是否过期,没有则设置响应为304。