Http协议(7)—Http缓存

一、冗余的数据传输
        有些客户端访问服务器页面时,服务器会多次响应同一个页面的副本给客户端,这会产生冗余数据,故使用缓存就可以保留第一条相应的副本,以后就响应缓存的数据

二、带宽瓶颈
        在需要下载大型文件时,如果在局域网中放入该文件的一个副本,则可以很快就下载完毕

三、瞬间拥塞
        服务器同一时间处理多次请求,就会出现瞬间拥塞

四、距离延时
        客户端和服务器存在一定的距离,信号传输会出现延时,如果将缓存放在附近的机房里就可以减少距离延时

五、命中与未命中
        1.再验证
            a.需要检测缓存副本是不是原始服务器上最新的缓存数据
            b.缓存对缓存副本进行再验证时需要向服务器发送一个小的请求,如果内容没有变化,则服务器会以304作为响应,缓存依然认为副本有效,则再次作为暂时新鲜的提供给客户端,这被称作再验证命中
            c.在GET请求中添加If-Modified-Since首部作为再验证的工具
                    i.再验证命中
                        如果服务器对未被修改,会向客户端发送一个HTTP304的响应码
                    ii.再验证未命中
                        如果服务器对象与缓存的不同,会向客户端发送一个HTTP 200 ok的响应码
                    iii.对象被删除
                        如果服务器对象被删除,会向客户端发送一个HTTP404的响应码,并删除起缓存副本
        
        2.文档命中率

        3.字节命中率
            缓存提供的字节在传输的所有字节所占的比例

        4.区分命中话与未命中的情况
            客户端可通过Age和Date首部来判别

六、缓存的拓扑结构
        
        1.私有缓存
            缓存在个人电脑和磁盘中

        2.公有缓存
            特殊的代理服务器,接收来自多个用户的访问
        
        3.代理缓存的层次结构

七、缓存的处理步骤
        
        1.接受
            从网络中读取抵达的请求报文
        
        2.解析
            解析报文为片段

        3.查找
            查看是否有本地副本可用,如果没有则从服务器上获取并存入本地副本中

        4.新鲜度检测
            当超过缓存的新鲜度限值时需要向服务器检查缓存是否发生变化
    
        5.创建响应
            缓存会用新的首部(Date除外)和已缓存的主题来构建一条响应报文

        6.发送
            缓存将响应发送给客户端

        7.日志
            缓存可选的创建一个日志文件来描述此次事务
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章