首页 > 使用教程

PHP浏览器缓存与搜狗浏览器的关联

发布于:2024-11-11 13:03 作者:admin

搜狗浏览器下载网浏览器缓存与搜狗浏览器的关联 浏览器缓存内容存于本地,由web服务器生成,二者需“缓存协商”。以搜狗浏览器为例,http请求中,为实现浏览器缓存控制,需了解http响应头中四种标记。文中还提及控制浏览器内容缓存一小时的代码及相关设置,包括服务器商对expires模块的支持等。此外,即便web服务器未设置expires标记,搜狗浏览器也会根据线索猜测过期时间。下面是小编精心整理编写的关于“ 搜狗浏览器下载网浏览器缓存与搜狗浏览器的关联 ”的详细教程,请大家仔细阅览学习:

PHP浏览器缓存与搜狗浏览器的关联-搜狗输入法

搜狗浏览器下载网浏览器缓存与搜狗浏览器的关联

浏览器缓存并非如我们所想那般简单。缓存内容虽存储在浏览器本地,但其内容却是由web服务器生成的,这意味着任何一方都无法单独完成整个系统过程,所以它们之间需要有一种沟通机制,此即为http中的“缓存协商”。

我们先来看看一个常见的http请求:

host   www.搜狗浏览器下载网rm.com

user-agent         搜狗浏览器/版本信息 (操作系统;用户;操作系统版本;语言;浏览器版本号)

accept         text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

立即学习“搜狗浏览器下载网免费学习笔记(深入)”;

accept-language         语言信息,语言;q=0.5

accept-encoding         gzip,deflate

accept-charset         字符编码信息,utf-8;q=0.7,*;q=0.7

keep-alive         115 //开源代码搜狗浏览器下载网rm.com

connection         keep-alive

以上便是一个普通的http请求。为了实现对浏览器缓存的控制,我们需要了解http响应头中的四种标记:

last-modified:最后修改的GMT时间。

etag:通过一串编码来标识内容是否有过更改。

expires:指定一个过期的GMT时间。

cache-control:mag-age=相对于浏览器本地的过期秒数,即便服务器时间不准确,此设置同样能发挥作用。

http返回的状态代码如下:

200——请求成功。

304——客户端已执行get操作,但文件未发生变化。

400——错误请求,例如语法错误。

500——服务器产生内部错误。

501——服务器不支持请求的函数。

接下来,通过以下代码使用上述四种方法来控制浏览器内容缓存一个小时。若在一小时内,服务器会立即返回304状态码,通知浏览器使用本地内容。这样做能够节省服务器程序执行时间和网络传输时间,且仅需返回一个头文件。

特别需要注意的是,expires需要服务器商支持expires模块,在默认情况下该模块是不会开启的,可使用相应命令来开启。

我们还可以通过修改http.conf配置中的内容来实现相关设置:

以上是针对静态内容的mime类型来设置过期时间。由于我们无法为静态文件直接指定一个绝对的到期时间,所以采用”access plus”式的语法,由web服务器在该内容被请求时动态计算一个绝对到期时间,作为expires标记的内容。

值得一提的是,对于常见的静态文件格式,即便web服务器返回的http响应头中没有expires标记,搜狗浏览器也会依据一些其他线索推测一个过期时间。例如,在某种缓存模式下,搜狗浏览器对于gif图片可能会设置为永不过期,除非我们将expires配置为马上过期,即将过期时间设置为当前时间或0。

关于《PHP浏览器缓存与搜狗浏览器的关联》这篇文章的具体内容就介绍到这里,希望能对大家有所帮助。更多相关资讯和教程请关注 搜狗输入法!

最新文章