服务器查缓存
Ⅰ 浏览器缓存(http缓存)
浏览器缓存有两种:强制缓存和协商缓存
向浏览器缓存中查找请求结果,根据【缓存规则】决定是否使用该结果。
强制缓存失效后,携带缓存标识请求服务器,服务器根据缓存标识判断是否使用缓存
当浏览器向服务器发送请求的时候,服务器会将缓存规则放入HTTP响应的报文的HTTP头中和请求结果一起返回给浏览器(ps:下文说的时间点均为类似:Sat Aug 14 2021 11:01:52,秒级)
两个字段:Expires和Cache-Control,优先级:Cache-Control > Expires,客户端比较时间
Expires :HTTP/1.0,返回值为【到期时间点】,再次请求,客户端的时间< Expires,直接用缓存(ps:客户端与服务器端时间可能存在误差,出问题)
Cache-Control :HTTP/1.1,有以下字段
Last-Modified / If-Modified-Since 和 Etag / If-None-Match,优先级Etag > Last-Modified,服务器比较时间
Last-Modified(服务端返回客户端) / If-Modified-Since(客户端传入服务端) :两个册慎值相同,表示:资源文件在服务器最后裂姿谈被修改的时间【时间点】。
Etag(服务端返回客户端) / If-None-Match(客户端传入服务端) ,两个值相同,为当前资源文件的一个唯一标识(由服务器生成)
Etag什么时候用
雅虎禁用了Etag:因为ETag的值和服务器有关,那么对于同样的文件,可能下次请求的时候是发给不同的服务器,结果也会重新发送数据,所以就会影响网页加载速度,增加服务器的压力(但Last-Modified也与服务器有关)
主要解决的问题:
浏览器的每个tab都是一个进程
两个缓存的肆碰地方 from memory cache(内存缓存) 和 from disk cache(硬盘缓存) ,读取顺序为memory > disk
Ⅱ linux下如何查看服务器物理内存状况
查看内存使用情况,可以使用命令free败闹-m
其结果大致如下:
Mem:32108306811426012321165
-/+buffers/cache:939222715
Swap:34287126233025
在第一部分Mem行中有如下参数:
*total:内存总数,即32108MB
*used:已经使用的内存数,即30681MB
*free:空闲的内存数:即1426MB
*shared:当前已废弃不用,总是0
*buffersBuffer:缓存内存数,即举枯汪123MB
*cachedPage:缓存内存数,即421MB
其中,内存总数与已经使用内存数和空闲内存数的关系是:
total(32108)=used(30681)+free(1426)
在第二部分内容(-/+buffers/cache)中个参数如下所示:
(-buffers/cache):真正使用的内存数,即9392M,他指的是第一部分的used-buffers-cached
(+buffers/cache):可用的内存数,即22715M,他指的是第一部分的free+buffers+cached
其含义可以理解为:-buffers/cached反映的是被程序实实在在正仔用掉的内存,而+buffers/cached反映的是可以被使用(或者说挪用)的内存总数。