http缓存(简单篇)和tcp三次握手(附图)

http缓存分为两种:一种是强缓存,另一种是协商缓存:

当我们向服务器进行请求时:

首先会根据这个资源的一些http  header判断是否命中强缓存 ?(如果命中就不会发送请求,会直接去强缓存区加载资源):(如果没有命中就会发送一个请求到服务器),根据这个资源的另一些http header来判断是否命中协商缓存?(如果命中协商缓存-请求返回状态码304-会告知浏览器去缓存中加载这个资源):(如果没有命中协商缓存,就向服务器请求数据返回200)

强缓存的关键字段:

cache-control:max-age=xxxx时间,public/允许缓存(服务器和客户端)

cache-control:max-age=xxxx时间,private/只允许客户端缓存

cache-control:max-age=xxxx时间,immutable/直接读取缓存中的内容,刷新页面之后也不会去请求新的数据

cache-control:no-cache /不走强缓存,改道走协商缓存

cache-control:no-store/不做缓存,每次都请求新的数据

协商缓存关键字段:

response   header里面设置

标识:etag:‘唯一hash码’,

            last - modified:Mon,24  Dec  2019  09:49:49  GMT  /时间

流程:

发送请求-》看缓存时间是否过期-》如果过期-》请求服务器-》服务器查看是否真的过期-》如果过期服务器返回新资源和200码(如果没有过期,返回304码,去缓存加载资源)

——————————————————————————————

简单说下TCP三次握手:


这个可以理解为客户端和服务端相互确认的一个过程,三次握手完成后才是进行数据传输。

你可能感兴趣的:(http缓存(简单篇)和tcp三次握手(附图))