【代理缓存服务器知识点整理】
一、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)
当缓存区满的时候,紧急情况会把旧资源替换掉就算还没过期。在有几个缓存区的情况下,一个缓存区不可用,缓存服务器一般会自动标识为不可用。当所有缓存区不可用的时候,缓存服务器会处于“只代理不缓存”的状态,继续工作。

代理缓存服务器知识点整理相关推荐

  1. 代理缓存服务器squid

    链接 :[Linux通过squid配置代理上网] https://help.aliyun.com/knowledge_detail/41342.html?spm=5176.7841507.2.4.nS ...

  2. squid 3 反向代理 缓存服务器 安装配置精华指南 by lbj

    squid-3.0.STABLE21 安装配置 by lbj 作用:作为反向代理/缓存服务器 系统:redhat linux 企业版 5.4 linux 要有gcc编译器,使用squid-3.0.ST ...

  3. Squid代理缓存服务器

    一.代理缓存服务器 1.分类 正向代理:部署在企业内部,实现企业内部客户端访问公网加速(ACL.缓存) 传统代理:需在客户端指向正向代理服务器的IP及端口,方可正常使用 透明代理:将正向代理服务器作为 ...

  4. nginx反向代理缓存服务器构建

    博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 代理服务可简单的分为正向代理和反向代理: ...

  5. 【推荐】如何用 Nginx 构建反向代理缓存服务器?

    作者:一盏烛光,贤牛特邀工程师. 防伪码:曾经沧海难为水,除却巫山不是云. 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对 Internet 的连接请求(如×××/NAT), ...

  6. NGINX做反向代理缓存服务器原理

    代理服务可以简单的分为正向代理和反向代理 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标web服务器的HTTP请求先发送到 ...

  7. F8-Nginx代理缓存负载均衡后端均衡

    1.部署nginx代理缓存服务器,并验证缓存是否生效: 2.练习nginx负载均衡配置,并通过实验验证其作用: 3.通过nginx将本地镜像软件包发布出去,并实现后端两台服务器均衡: 1.部署ngin ...

  8. uni-app知识点整理(5)- 网络请求、数据缓存、图片上传和预览

    目录 一.网络请求 1.1 发送get请求 二.数据缓存 2.1 uni.setStorage(OBJECT) 2.2 uni.setStorageSync(KEY,DATA) 2.3 uni.get ...

  9. 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

    案例: Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入 访问用户:电信宽带用户.移动宽带用户 出现问题:电信用户打开www.abc.com正常,移动用户打 ...

最新文章

  1. mysql数据库连接过多的错误,可能的原因分析及解决办法
  2. android wifi定位服务,如何在Android中使用Wifi获取位置?
  3. ASP.NET WebAPI Get和Post 传参总结
  4. 剩余 大小 查看内存_谈谈内存压缩那些事
  5. cv::mat 颜色空间_网站设计基础:负空间
  6. linux处理除零异常,linux – 如何在x86程序集中使用中断来触发被零除错误异常?...
  7. 怎样往mysql里添加数据_怎么往mysql表里添加数据
  8. 【转】No Persistence provider for EntityManager问题
  9. 解决多个py模块调用同一个python的logging模块,打印日志冲突问题
  10. 请假时碰到法定假期,实际请假几天?
  11. 《爱的五种能力》读后感
  12. Java实现打印功能
  13. 视频流媒体服务器ONVIF探测和云台控制是如何设置的?
  14. [笔记] 关于通过鼠标滚轮设置缩放的技巧
  15. Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(二)统计篇
  16. Spark 实时处理 总文章
  17. 北京ADSL修改密码的网址
  18. 1024,给程序员们送福利!
  19. Mac新手使用技巧——键盘键位分布和快捷键
  20. 发布四大战略举措,亚马逊云科技看准了中国云市场的哪些新机会?

热门文章

  1. Docker是什么?(转载)
  2. java simsimi_PHP_php版小黄鸡simsimi聊天机器人接口分享,复制代码 代码如下:?phpfuncti - phpStudy...
  3. php代码代写,php学生信息代写搜索系统
  4. 计算机网络面试常考知识点
  5. 亚信联创 java_亚信联创java笔试题(2)
  6. protoc cpp_out 新手踩坑
  7. sofia sip开发一 基础知识
  8. [ROS]动态参数设置-可视化调试-创建cfg文件
  9. soso hoho!
  10. Struts2第七篇【介绍拦截器、自定义拦截器、执行流程、应用】