代理缓存服务器知识点整理

【代理缓存服务器知识点整理】

一、http相关
1、正常http请求跟代理http请求的区别
常规的http请求头部:GET /index.html HTTP/1.1 Host:www.xuxiong.com
代理的http请求头部:GET http://www.xuxiong.com HTTP/1.1 Host:www.xuxiong.com

2、http响应头信息、http请求头信息
得清楚http响应头跟http请求头的类型、内容是有区别的。

3、GMT时间
http头部的时间都是用GMT时间表示,小时+8是北京时间

4、http响应头部cache-control的max-age
max-age用来标示缓存存在的时长,每秒自增1,当其大小达到源服务端定义的max-age的大小,即对象过期。

5、http响应头部的Date域(GMT时间)
当前服务器时间

6、http响应头部的Expires
定义对象过期的时间(GMT)

7、max-age和Expires的优先问题
当max-age和Expires同时存在,max-age优先级高于Expires

8、http响应头部的Last-Modified
对象在源服务器的上次修改的时间(GMT),在没有max-age和Expires的情况下,此项会作为缓存期多长的一个计算基值。例如此种情况下ATS默认缓存时间:(Date-Last-Modified)*0.1

9、http响应头部的Content-Encoding
对象的编码信息,其实是表示对象是否压缩,什么格式压缩。这个经常也用来作为对象版本的区别,同个文件,一个压缩,一个不压缩缓存服务器会当做是不同对象。

10、http请求头部的User-Agent
请求头用来标识请求客户端的类型,如浏览器、系统类型等等。有些网站常常检测这个,为空的话拒绝连接,所以模仿此头很有用

11、http请求头部的Referer
表示从哪里跳转过来的,服务器经常运用这项,检测合法性,以及是防盗链的判断条件

12、http请求头部的Accept-Encoding
http请求客户端告诉服务器我可以接受什么编码压缩,如果你也支持请以这种压缩格式响应内容给我。这个会影响到对象判断,影响缓存命中率,经常需要运用此项。

13、http请求头部的Connection
告诉服务器我想不想keep-alive连接

14、当对象已经过期的时候,并不是一下子就把它从缓存区中删除的,有一个可以设定的时间段。在这个时候如果有收到对象的请求,缓存服务器只需要发送数据量很小的304请求去查询对象的状态信息,如果对象已经有更新,即响应新内容;如果对象还是有效的就返回304Not-Modified。

15、Range-206
在http的header头信息中加入Range头,达到请求一个文件的部分数据。返回的状态码为206,根据rfc规定,默认206状态的东西不缓存

16、常用的web服务器可以控制文件的缓存时间
如nginx的配置,js/css/html/htm文件缓存有效期为1天
location ~ .*\.(js|css|html|htm)$
              {
                   root   /www/web;
                   expires 1d;
              }

二、缓存服务器相关
1、可配置最长缓存存留时间
2、可配置最短缓存存留时间
3、可配置上面一中的第8条的"0.1"基数的大小
4、可配置某种文件类型固定至少缓存多少天
5、可去url问号,提高缓存命中率
6、端口镜像
高端一点的交换机会有这个功能,把一个或多个端口的数据发一份(镜像一份)到一个或多个端口(一般是有专业设备的端口如缓存服务器、流量监测、抓包分析)

7、url中问号的作用与影响
缓存服务器默认是不缓存带问号的url的,因为在http服务中也不是所有东西都要被缓存的,http的规定中,问号的作用就是可以避免某些url对象被缓存,这个是默认的。
所以在某些特殊的情况下,带问号的对象需要缓存的时候需要相应去问号处理。

8、缓存服务器响应头的Via信息
其实不是所有缓存服务器都叫Via头,有些缓存服务器是自定义一个Server头的,这里拿ATS的Via做示例。如下
Via http/1.1 l2cn41 (ATS/3.0.2 [cRs f ]), http/1.1 cn16 (ATS/3.2.0 [cHs f ])
Via头可以了解到对象在哪些缓存服务器Hit,经过哪些缓存服务器,对于缓存分析很有用。

9、缓存服务器的日志
缓存服务器的日志非常的重要,由于缓存服务器一般都是有非常大的磁盘容量的,加上高并发处理,所以在管理缓存对象如查询等方面一般不会集成在缓存服务器的功能中。后续的管理功能一般是需要通过缓存服务器详细的日志进行分析整理而得到想要的效果。
缓存服务器的日志格式一般都可自定义。

10、裸盘、文件系统在缓存服务器中的情况
我们都比较习惯了使用文件系统,但是缓存服务器的世界里,裸盘才是它的真爱。由于裸盘不需要格式化成文件系统,比文件系统的存储设备少了一个层面,所以在IO等性能方面有了很大的提升。

11、反向代理和正向代理
反向代理缓存一般是为自己的特定源服务器做负载分担、分布式响应、就近响应以达到加速的效果;在配置上,可控源服务器与缓存服务器协调合作配置以达到最佳效果。
正向代理缓存一般是为特定局域网内的用户做热点内容缓存加速,源服务器一般是互联网上的,需要配置缓存服务器自身适应源服务器。

12、决定命中率的重要对象类型
保证“静态文件”的缓存命中是非常重要的,如图片格式文件、视频文件等不常修改的“实体”文件。这些类的“实体”文件一般都相对比较大,而即时获取的动态内容经常变化而且比较小。所以确保大部分“实体”文件的缓存命中是比较重要的。

13、缓存的分析方法
日志分析法:缓存服务器都会有详细的日志文件,也有带是否命中等标识。
HTTP响应头、请求头分析法:可通过firebug等http头抓包插件进行分析,主要查看Via信息/max-age/Expires等信息分析。

14、缓存服务器的部署方式
【正向】
用户设置浏览器的代理;
在网关等设备上路由数据从缓存服务器上经过;
DNS“劫持”域名指向缓存服务器;
端口镜像。
【反向】
DNS控制:把域名解析到缓存服务器上,然后缓存服务器上map域名指向源服务器。在反向方面运用高级一些属于CDN技术。
注:关于DNS“劫持”的说法,由于反向运用中,缓存服务器方一般是有源服务器管理权限的,是从自身的角度去调配DNS的,属于正常行为;而“DNS指向法”在正向代理的运用中是不经过源服务器的授权,而且只在自己局域网内网修改DNS实现的,所以在此称之为“劫持”,不过不影响局域网外其他用户的上网行为,也属于合法。

15、缓存服务器的机制之1-map
在缓存服务器中会有个所谓的map机制,如map http://a.com http://b.com。达到的效果是用户通过缓存服务器访问http://a.com的时候实际上转发到http://b.com上。

16、缓存服务器可以有自己独立的DNS服务器。一个需要注意的允许的情况,用户机器上配置的dns把a.com解析到1.1.1.1 ip,而缓存服务器的可以解析到2.2.2.2上。

17、缓存服务器的机制2(ats)
当缓存区满的时候,紧急情况会把旧资源替换掉就算还没过期。在有几个缓存区的情况下,一个缓存区不可用,缓存服务器一般会自动标识为不可用。当所有缓存区不可用的时候,缓存服务器会处于“只代理不缓存”的状态,继续工作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值