扫码关注公众号

前端计算机网络之http缓存机制
07-15
669观看
01

以下哪个不是和浏览器缓存相关的HTTP头?

正确答案是DA和B:HTTP头中的Expires和Cache-Control就是完成缓存的。当客户端第一次访问资源的时候,服务端在返回资源内容的同时也返回了Expires:Sun,16Oct201605:43:02GMT。服务端告诉浏览器:你Y的先把这个文件给我缓存起来,在这个过期时间之前,这个文件都不会变化了,你下次需要这个文件的时候,你就不要过来找我要了,你就去缓存中拿就好了,又快又好C:第一次客户端访问资源的时候,服务端返回资源内容的同时返回了ETag:1234,告诉客户端:这个文件的标签是1234,我如果修改了我这边的资源的话,这个标签就会不一样了

来自:浏览器、网络相关-http缓存机制,如localStorage等
02

请描述一下cookies,sessionStorage和localStorage的区别?

sessionStorage和localStorage是HTML5WebStorageAPI提供的,可以方便的在web请求之间保存数据。有了本地数据,就可以避免数据在浏览器和服务器间不必要地来回传递sessionStorage、localStorage、cookie都是在浏览器端存储的数据,其中sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念。sessionStorage是在同源的同窗口(或tab)中,始终存在的数据。也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一页面,数据仍然存在。关闭窗口后,sessionStorage即被销毁。同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的cookies会发送到服务器端。其余两个不会。Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie。Firefox每个域名cookie限制为50个。Opera每个域名cookie限制为30个。Firefox和Safari允许cookie多达4097个字节,包括名(name)、值(value)和等号。Opera允许cookie多达4096个字节,包括:名(name)、值(value)和等号。InternetExplorer允许cookie多达4095个字节,包括:名(name)、值(value)和等号。

来自:浏览器、网络相关-http缓存机制,如localStorage等
03

为什么需要使用HTTP缓存?

在输入网址到加载页面的过程中,一般会经过CPU计算、页面渲染以及网络请求等过程,其中网络请求是唯一不确定的因素,会受到环境因素的影响。所以需要HTTP缓存减少网络请求,以至于页面能够快速渲染。

来自:浏览器、网络相关-http缓存机制,如localStorage等
04

如何判断数据是否失效

在请求资源时,服务器会在响应头上添加跟缓存策略相关的数据来告诉客户端当前缓存数据的有效性。catch-control的优先级高于expiresHTTP1.0-Expires:绝对时间HTTP1.1-Cache-Control:相对时间

来自:浏览器、网络相关-http缓存机制,如localStorage等
05

如何判断缓存是否新鲜

在请求资源时会在响应头上设置两组数据,Etag的优先级高于Last-ModifiedLast-Modified/If-Modified-since:表示服务器的最后修改时间Etag/If-None-match:表示服务器资源的唯一标识

来自:浏览器、网络相关-http缓存机制,如localStorage等
课程
专栏
js语言和框架-浏览器、网络相关-http缓存机制,如localStorage等
2专栏
1课程
5 试题