HTTP 的缓存机制
缓存是什么
缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 Web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器重新下载。
缓存需要合理配置,因为并不是所有资源都是永久不変的。重要的是对一个资源的缓存应截止到其下次发生改变(即不能缓存过期的资源)。
缓存服务器端的数据的优点
- 缓解服务器端的资源消耗和运行压力,提升服务器端的整体性能。
- 减少服务器端资源加载的延迟,进而成少显示某个资源所用的时间
- 减少对带宽造成的压力,避免网络阻塞问题的出现
- Web 站点变得更具有响应性
常见的 HTTP 缓存只能存储 GET 响应,对于其他类型的响应则无能为力。
- 检索请求的成功响应:响应状态码为 200, 则表示为成功。包含例如 HTML 文档,图片,或者文件的响应。
- 不变的重定向:响应状态码为 301
- 错误响应:响应状态码为 404 的一个页面。
- 不完全的响应:响应状态码为 206, 只返回局部的信息。
- 除了 GET 请求外,如果匹配到作为ー个已被定义的 cache 键名的响应。