网络知识

OSI 七层网络模型

  1. 应用层: 为用户进程提供网络服务
  2. 表示层:负责数据的转化,数据的压缩/解压,数据的加密/解密等
  3. 会话层:负责会话的建立,管理,销毁等服务
  4. 传输层:基于TCP/UDP进行 端口对端口的传输
  5. IP层:数据打包成IP数据报,在路由器/交换机上传输
  6. 数据链路层:
  7. 物理层:

TCP/IP 网络模型

  1. 应用层
  2. 传输层
  3. IP层
  4. 数据链路层

DNS解析

DNS解析过程

HTTPDNS优化

HTTP 的版本区别

HTTP1.0与 HTTP1.1
  1. 缓存优化
  2. 网络带宽及网络连接都优化
  3. host请求头添加
  4. 支持长连接(串行单线程处理请求,可以同时发起多个请求,但必须等待前一个请求处理完,才会处理新的请求,否则只能被阻塞)
HTTP1.1与HTTP2.0
  1. 新的二进制文件
  2. 多路复用(多个请求可以在一个连接上并行执行,某个请求耗时严重,不会影响到其他连接的正常执行)
    1. 做到了延迟的优化,TCP连接是慢启动,因此突发性和短时性的http连接不高效,通过复用连接可以更有效的使用TCP
  3. Header压缩 (一个页面有100个资源要加载,而每次请求都有1kb的消息头,则至少要消耗100kb获取请求头,http2.0,维护了一个字典,用以差量更新http头部)
  4. 服务端推送(服务端会主动把客户端所需要的资源一起发给客户端)

TCP 与UDP

TCP 是面向连接的,可靠,慢,占用头部字节20多

UDP是无连接的,尽最大交付,快,占用头部字节少8

TCP三次握手

TCP四次挥手

TCP与UDP比较