缓存

缓存

Cache Control

在响应头中会带有一个Cache-Control字段(有很多属性我只记录max-age和no-cache)

  • max-age

Cache-Control:max-age=123456max-age的单位是s如果在(当前客户端时间+max-age)之内,就不会向服务器端发送请求。max-age会覆盖Expires

  • no-cache

Cache-Control:no-cache指定不缓存响应,表明资源不进行缓存,但是设置了no-cache之后并不代表浏览器不缓存,
而是在缓存前要向服务器确认资源是否被更改。因此有的时候只设置no-cache防止缓存还是不够保险,还可以加上private指令,将过期时间设为过去的时间。

Expires

在响应头中会带有一个Expires字段,Expires字段表示的时资源过期时间

Last-modified

在响应头中会带有一个Last-modified字段,该字段表示请求的资源的最后修改时间,当请求发送到服务器端,服务器端会比较资源的最后修改时间是否
相同,如果相同放回304状态码,如果不相同则返回新资源。

ETag

ETag和Last-modified类似,解决了Last-modified不能精确得到资源的最后修改时间的问题。
在响应头中会带有一个ETag字段,该字段表示请求的资源的hash值,当请求发送到服务器端,服务器端会比较资源的hash是否相同,
如果相同放回304状态码,如果不相同则返回新资源。

你可能感兴趣的:(缓存)