HTTP中的缓存机制和使用

本篇内容介绍了“HTTP中的缓存机制和使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的交口网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

HTTP中的缓存种类

缓存就是将请求的资源在本地保存一份拷贝,从而在下一次请求的时候,直接返回该拷贝,不用再从服务器下载资源,从而减少了资源的传输提升了效率。

除了直接访问和返回资源之外,HTTP中的缓存可以分成两类,一种是共享cache,也就是说不同的客户端都可以从该共享cache中获取资源,并且这些资源是多个客户端可以访问的。还有一种是私有cache,这意味着该cache只能用户或者客户端私有访问,其他用户是无权访问的。

私有cache很好理解,我们常用的浏览器中的cache基本上就是私有cache,这些cache是浏览器独有的,并不会共享给其他的浏览器。

共享cache主要用在一些web代理上,比如web代理服务器,因为web代理服务器可能会为众多的用户提供资源服务,对于这些用户共同访问的资源就不必要每个用户保存一份了,只需要在web代理服务器中保存一份即可,这样可以减少资源的无效拷贝。

HTTP中缓存响应的状态

对于HTTP缓存来说,一般缓存的是GET请求,因为GET请求除了URI之外,并没有其他多余的参数,并且其表示的意义是从服务器获取资源。

不同的GET请求,会返回不同的状态码。

如果是成功返回资源,则会返回200表示OK。

如果是重定向,则返回301。如果是异常,则返回404。如果是不完全的结果,则会返回206。

HTTP中的缓存控制

HTTP中的缓存控制是通过HTTP头来表示的。在HTTP1.1中加入了Cache-Control,我们可以通过Cache-Control来控制请求和响应的缓存情况。

如果不需要缓存,则使用:

Cache-Control: no-store

 如果需要对客户端的缓存进行验证,则使用:

Cache-Control: no-cache

如果要强制进行验证,则可以使用:

Cache-Control: must-revalidate

在这种情况下,过期的资源将不会被允许使用。

对于服务器来说,可以通过Cache-Control来控制缓存是private或者public的:

Cache-Control: private
Cache-Control: public

还有一个非常重要的缓存控制就是过期时间:

Cache-Control: max-age=31536000

“HTTP中的缓存机制和使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享标题:HTTP中的缓存机制和使用
标题链接:http://cdiso.cn/article/ggjdje.html

其他资讯