20220816 车轮2主干02

92 阅读2分钟

DNS

DNS 是「域名系统」的缩写,是 ip 和域名的分布式映射数据库。

  • ip 记录内容
    • A:Adress,本域名指向的 ip 地址,可以有多个
    • NS:Name Server,下一级域名信息的服务器地址
    • MX:Mail eXchange,电子邮件接收地址
    • CNAME:返回另一个域名
    • PRT:Pointer Record,只用于 ip 地址查询域名

递归 DNS

  • local DNS / 路由器 DNS / 代理商 DNS
  • 发出 DNS 时被这几层代理查询,同时寻找自己的缓存和 TTL,命中则直接返回。

智能 DNS / CDN

迭代查询到授权服务域名层时,如果该域名配置了 CDN 内容分发服务,一般会 CNAME 到专门用于分配服务节点的服务器,此服务器考虑多个因素后返回一个最合适的服务节点,虚拟服务器。考虑的内容一般有节点是否能处理此请求,节点的忙碌程度,节点的链接延迟。

协议

  • 1XX 请继续
  • 2XX 成功
  • 3XX 重定向,304 not modified 未修改适应缓存。
  • 4XX 错误,403 拒绝坏请求
  • 5XX 服务器内部错误

协议缓存

  • 强缓存
    • Expires http1.0 之前使用,GMT 时间串,过期前命中
    • cache control http1.1,优先级比前者高
      • max-age 资源有效期
      • no-cache 不使用强缓存
      • no-store 不使用所有缓存
      • public 允许所有端缓存
      • private 不允许代理服务器缓存
  • 协商缓存
    • Last-Modify & If-Modify-Since : 服务器返回资源带有 Last-Modify 表示资源更新时间,客户端请求时带有 If-Modify-Since 表示缓存文件的更新时间,服务器对比成功返回 304
    • Etag & If-Node-Match :文件唯一识别码,客户端请求时带有 If-Node-Match。解决了周期性变回上一个文件或短时间更新多次的 bug。

网络模型

  • 物理层:光线等,电信号表示0、1
  • 数据链路层:确定0、1的分组方式,生成数据帧
  • 网络层:IP、MAC地址,引入一套地址,区分主机地址,所属子网络在公网上的地址,链接主机到主机
  • 传输层:TCP 等,链接端口到端口的通信,建立应用程序之间的通信
  • 应用层:http、ssh 等,将数据包内容解析用于应用程序交互

三次握手

  • seq 、 ack :客户端服务端报文号; ACK、SYN:相应标志和新消息标志。

攻击

XSS:注入代码

CSRF:窃取 cookie、token