web缓存(代理服务器)
来源:互联网 发布:知乎搞笑的事情 编辑:程序博客网 时间:2024/05/22 00:47
web缓存
一个web缓存又称为代理服务器,是一个网络实体,它有自己的磁盘存储,保存着最近请求的对象。
浏览器可以被配置为将请求第一次发到web缓存,下面是访问缓存的步骤(www.baidu.com):
- 浏览器与web缓存建立一个TCP连接,将http请求报文发给web缓存
- web缓存检查本地是否有请求对象的副本,如果有,就将它包含在http响应报文中发给浏览器
- 如果web缓存中没有请求的对象,那么web缓存就与原始服务器(www.baidu.com)之间打开一个TCP连接,缓存向原始服务器发送http请求,原始服务器将请求内容放在http响应报文中,发给缓存
- 当web缓存收到响应后,将它保存在本地存储中,并且向客户浏览器发送一个响应报文(通过之前建立的TCP连接)
可以看出web缓存既是客户端又是服务器,一般web缓存是被ISP安装的,比如一所大学可能安装一台代理服务器,并将校园里所有的主机浏览器配置成指向它。
代理服务器被部署在网络中有两个原因:
- 代理服务器可以大幅减少客户端请求的响应时间
- 代理服务器可以大幅减少一个机构接入因特网的流量,进而可以减少整个因特网的流量
通过使用内容分布式网络(Content Distribution Networks),web缓存在当今互联网中扮演着越来越重要的作用
条件GET
虽然代理服务器可以减少用户感知的响应时间,但是它也有一个问题:保存在代理服务器中的对象副本可能是过期的,因为原始服务器中的对象可能被修改了。因此就需要有一种机制可以保证代理中的对象是更新过的,这种机制就是条件GET(代理向原始服务器发送)。
条件GET有两个要素:
- 请求报文使用GET方法
- 请求报文包含有
If-Modified-Since
头部行
阅读全文
0 0
- web缓存(代理服务器)
- Web架构:varnish缓存代理服务器超详细剖析
- 应用层-3、web缓存和代理服务器技术
- 第5章 与HTTP协作的Web服务器、缓存代理服务器、客户端缓存
- devpi搭建缓存代理服务器
- C#实现Web代理服务器
- Squid缓存代理服务器安装过程
- 用C#实现Web代理服务器
- 用C#实现Web代理服务器
- 用C#实现Web代理服务器
- web Caches 代理服务器实现方案
- 用C#实现Web代理服务器
- 使用Squid构建WEB代理服务器
- squid反向代理服务器加速web
- 用C#实现WEB代理服务器
- 避免代理服务器的缓存带来的问题
- 网络上的缓存—代理服务器
- 避免代理服务器的缓存带来的问题
- MySQL添加用户、删除用户与授权
- Android Studio引入外部so的方法
- lnmp一键安装包搭建的环境,mysql在局域网内连接不上的问题
- C语言的内存分配calloc()函数
- Django学习笔记(二)
- web缓存(代理服务器)
- 希尔排序
- Spark RDD的fold算子
- UTF-8、UTF-16、UTF-32的区别
- 理解ROS服务和参数(七)
- 线程
- rabbitmq整合spring
- #pragma pack用法笔记
- 【数据结构】单链表--基础