标签:str ip地址 验证 ast 角色 校园 tor 地址 缓存命中
一、与缓存有关的Header
1、Request
If—Modified—Since: 缓存文件的最后修改时间
If—None—Match: 缓存文件的ETag值
Cache—Control:no—cache 不使用缓存
Pragma:no—cache 不使用缓存
2、Reaponse
Cache—Control:public 响应被缓存,并且各用户共享
private 私有缓存
no—cache 提醒浏览器要从服务器提取文档验证
no—store 绝对禁止缓存(用于机密文件)
max—age 60s后缓存过期(相对时间)
Date:当前Response发送的时间
Expires:缓存过期的时间(绝对时间)
Last—Modified:服务器端文件的最后修改时间
ETag:服务器端文件的ETag值
3、为何使用ETag
ETag由服务器端产生,然后发送给客户端。主要是为了解决Last—Modified无法解决的问题:
a)某些服务器不能精确得到文件的最后修改时间;
b)某些文件的修改非常频繁,在秒以下的时间内修改,Last—Modified只能精确到秒;
c)一些文件的最后修改时间改变了,但是内容并未改变,我们不希望客户端认为这些文件修改了;
二、几种刷新方式
对一个资源,浏览器第一次访问,获取资源内容和cache-control: max-age:600,Last_Modify: Wed, 10 Aug 2016 26 GMT,于是浏览器把资源文件放在缓存中。
1、输入浏览器url地址栏,回车
浏览器直接使用本地有效的缓存,不发送任何请求,直接从缓存中读取。(这种情况名为 缓存命中)
2、F5
浏览器会去Web服务器验证缓存(发送一个请求,带上Last_Modify: Wed, 10 Aug 2016 26 GMT),服务器若在这个时间后未修改文件,直接返回304,浏览器就会去缓存中获取资源。
3、Ctrl+F5(强制刷新)
浏览器先把缓存中的文件删除,然后去服务器端请求完整最新的资源。
三、代理服务器
1)对客户端来说,代理服务器扮演着服务器的角色,接收Request,返回Response
2)对服务器来说,代理服务器扮演着客户端的角色,发送Request,返回Request
PS:常用的抓包工具Fiddler、HTTP Watch、Charles(青花瓷)、Wireshark(鲨鱼)等都可以看成一个代理服务器。LR的原理也是代理
四、代理的作用
1)FQ(这一点我就不说明了)
2)匿名访问[通过删除报文中的身份特性(客户端的IP地址、Cookie等),从而对远端服务器隐藏原始用户的IP地址及其他细节]
3)通过代理连接因特网
4)通过代理缓存,加快上网速度
5)儿童过滤器(eg:校园网禁止未成年访问成人网站)
代理认证:当浏览器访问需要认证的代理时,代理服务器会返回407,告诉浏览器输入用户名密码。
标签:str ip地址 验证 ast 角色 校园 tor 地址 缓存命中
原文地址:http://www.cnblogs.com/zichuan/p/6194735.html