一、动态页面本身
动态页面输出两个必要要素:
1、 Last-Modified
Last-Modified的时间可以不用很在意,它不会对缓存时间产生影响。
格式以asp页面为例:
Response.AddHeader "Last-Modified","Wed, 07 Jan 2010 10:35:56 GMT"
2、 Cache-Control
关键。指要缓存的时间。
格式以asp页面为例:
Response.CacheControl="max-age=120"
缓存两分钟。
二、关于精确的缓存时间
①:浏览器第一次请求,Squid无缓存对象;
②:向后端请求;
③:(重要!)
第一:后端响应Squid的请求;
第二:Squid收到后端响应,把对象放入cache,并把后端响应时后端web服务器的当前时间(time_A)作为对象缓存时间的下限;Web服务器响应请求时会在响应header里加一个Date值,表示响应请求的时间;
④:Squid响应浏览器;
⑤:(重要!)浏览器再次请求同一对象
第一:Squid得到自己服务器当前时间(time_B);
第二:计算响应header中age的值
Age= time_B- time_A
第三:判断过期
如果age> max-age则重新从后端获取;
如果age< max-age则后cache响应浏览器(HTTP/1.0 304 Not Modified)
第四:如果web服务器的时间小于squid服务器时间,会使age偏大,使页面缓存时间小于页面max-age指定的时间;反之会使age偏小,使页面缓存时间大于页面max-age指定的时间‘
三、关于浏览器刷新
1、IE刷新
IE刷新会请求头里添加If-Modified-Since及其它不与缓存相关的东西;
2、Firefox、Opera、傲游等
它们的刷新会添加请求header里添加Cache-Control=max-age=0,这样导致squid重新从后端获取数据。
分享到:
相关推荐
【 squid 强制缓存动态页面】 在互联网访问中,Squid 是一款广泛应用的开源代理缓存服务器,能够显著提高网络访问速度,尤其是对于频繁请求的资源。然而,Squid 默认不会缓存动态内容,因为这类内容往往具有时效性...
Squid 使用缓存调度策略来决定何时缓存网页。常见的策略有 `always`, `never`, `maxmem`, `max_objsize` 等。例如,你可以设置缓存所有对象,但最大大小不超过 10 MB: ```conf cache_mem 10 MB maximum_object_...
├── etc squid配置文件├── libvideoreg 视频缓存动态链接库,用来解析不同视频网站URL├── squid-2.7.STABLE9-new 打过patch后的squid-2.7.STABLE9├── squid squid-2.7.STABLE9的视频缓存patch文件└──...
在基于Linux的环境中,Squid作为代理服务器,能够缓存经常访问的网页数据,减少对互联网的直接请求,从而加快内部网络用户的浏览速度。 网络拓扑结构通常采用双网卡设计,一块网卡连接内部局域网,另一块连接互联网...
总之,《Squid 中文权威指南》第八章深入探讨了高级磁盘缓存的各个方面,为用户提供了一套全面的优化方案,帮助他们在不同环境下高效运行Squid缓存服务器。通过理解和实践这些策略,用户可以最大化地利用磁盘资源,...
squid会根据用户请求网页的URL进行哈希,生成缓存文件,存放在某一个目录中。squid启动之后,将在内存中建立一个哈希表,记录硬盘中缓存文件配置的情形。 对于类似http://jb51.net/index.html之类的网页,squid只会...
Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该...
- **内容缓存**:Squid 存储经常访问的网页内容,减少网络带宽消耗和访问延迟。 - **负载均衡**:通过分散用户请求到多个后端服务器,提高整体服务性能。 - **访问控制**:允许管理员设置访问策略,限制或允许特定...
例如,当网站内容更新时,使用Squidclient更新缓存可以避免用户看到过期的页面。 2. **服务器状态查询**:Squidclient允许你查看Squid服务器的状态,包括当前的连接数、内存使用情况、缓存命中率等信息。这对于监控...
PHP Squid是一种常见的结合PHP与Squid缓存服务器的解决方案,用于处理动态网页的缓存问题。在某些场景下,我们可能需要自定义网页的缓存策略,特别是当使用CDN(内容分发网络)如Chinacache时。本文将探讨如何在PHP...
Linux Squid管理界面是针对Squid网络代理服务器的一个重要工具,它提供了用户友好的图形化界面,使得管理员...通过`DISPLAY.java`这样的代码文件,开发者可以实现动态的用户交互和数据显示,为Squid的管理带来便利。
它会保存从外部服务器下载的网页和其他内容,当内部用户再次请求相同的资源时,可以直接从缓存中提供,而无需重新向原始服务器发起请求,这极大地提高了响应速度。 3. **负载均衡**:通过配置,Squid可以作为负载...
1. **缓存**:Squid 可以存储来自 Internet 的数据,如网页、图片和其他文件,当用户再次请求相同资源时,可以从本地缓存中快速提供,减少网络延迟。 2. **负载均衡**:通过分散用户请求到多个后端服务器,Squid ...
《Squid中文权威指南》是一本专注于Squid缓存服务器的详尽教程,它为读者提供了深入理解和有效管理Squid系统的关键知识。Squid是一个广泛使用的开源代理服务器和缓存系统,适用于互联网内容管理和性能优化。这本书...
2. **缓存策略**:根据网站访问频率设置缓存策略,例如优先缓存热门网页,提高访问速度。 3. **访问控制**:设定访问规则,比如禁止工作时间访问娱乐网站,提升工作效率。 4. **负载均衡**:通过Squid可以实现多台...
内存管理则是通过动态分配和回收内存区域来实现的,确保缓存的数据能够在内存有限的情况下得到有效的利用。 #### 替换机制 替换机制是Squid存储系统中的另一个重要组成部分。由于存储资源有限,当新的数据需要缓存...
《Squid权威指南》是一本深度探讨Squid缓存代理服务器的全面教程,它涵盖了从基础到高级的所有主题,旨在帮助读者深入理解和有效利用Squid在各种网络环境中优化性能、提升安全性。这份资源包含了Squid的学习资料,是...