2.28网络参考模型、HTTP缓存

97 阅读2分钟

网络参考模型

网络参考模型分为五层和七层

五层网络模型

五层从上往下分别为:

  1. 应用层 支持各种网络应用 FTP、SMTP、HTTP
  2. 传输层 进程到底数据传输 TCP、UDP
  3. 网络层 源主机到目的主机的数据分组路由与转发 IP、ICMP、OSPF
  4. 数据链路层 把网络传下来的数据组装成帧 Ethernet、PPP
  5. 物理层 比特传输

image.png

七层网络模型

七层从上往下分别为:

  1. 应用层 支持各种网络应用 FTP、SMTP、HTTP
  2. 表示层 提供数据格式转换服务 常见的有URL加密、口令加密、图片编解码
  3. 会话层 建立端连接并提供访问验证和会话管理如:服务器验证用户登录、断点续传
  4. 传输层 进程到底数据传输 TCP、UDP
  5. 网络层 源主机到目的主机的数据分组路由与转发 IP、ICMP、OSPF
  6. 数据链路层 把网络传下来的数据组装成帧 Ethernet、PPP
  7. 物理层 比特传输

img

HTTP缓存

HTTP缓存分为强制缓存和协商缓存

强制缓存

强缓存:检查过期时间,判断缓存是否失效。如果不失效,则直接使用。

cache-control:max-age=15552000** cache-control是一个时间段,也就是在这一时间段内再次请求数据的话,不会发送网络请求而是使用缓存。 它的单位是秒 。

expires expires是一个时间点,也就是在这个时间点之前的时间内再次请求数据的话,不会发送网络请求而是使用缓存。

image.png

image.png

协商缓存

协商缓存:强缓存失效了,超过过期时间了,拿着标识(最后的修改时间,唯一标识etag),去问服务器,是否是真的过期了。如果验证通过,服务器会直接响应304,且不会返回资源。

**last-modified **last-modified是最后一次修改的时间,单位是秒

image.png

ETag Etag生成靠以下几种引子:文件的i-node编号,是Linux/Unix用来识别文件的编号、文件最后修改时间、文件大小

image.png

这里最后说一下HTTP状态码

HTTP状态码

HTTP常见的状态码有2xx、3xx、4xx、5xx分别代表成功、重定向、客户端错误、服务器端错误、详细的分类如下图

2xx成功

image.png

3xx重定向

image.png

4xx客户端错误

image.png

5xx服务器端错误

image.png