计算机网络基础笔记

OSI 七层模型

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 会话层
  6. 表示层
  7. 应用层

TCP/IP 五层协议

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 应用层

从 URL 到页面展示

  1. 浏览器解析 URL
  2. 检查浏览器缓存是否存在该资源
  3. DNS 解析域名
  4. 建立 TCP 连接(三次握手)
  5. 客户端发送 HTTP 请求,服务器返回 HTTP 响应
  6. 断开连接(TCP 四次挥手)
  7. 浏览器渲染页面并展示

HTTP 请求与响应

HTTP 请求报文

  • 请求头:请求方法 (GET, POST, PUT…)、HTTP 版本、资源路径、Content-Type、Cookie 等
  • 请求体:包含请求数据(GET 请求一般没有请求体)

HTTP 响应报文

  • 响应头:HTTP 版本、语言、Content-Type、状态码、状态信息、过期时间、缓存策略、跨域设置等
  • 响应体:实际返回的数据内容

HTTP 方法

  • GET:获取数据,参数拼接在 URL 后,请求体无数据
  • POST:提交数据,请求体包含数据

常见 HTTP 状态码

  • 200 OK:请求成功
  • 201 Created:创建了新资源
  • 204 No Content:请求成功但无返回内容
  • 301/302 Redirect:重定向
  • 403 Forbidden:禁止访问
  • 404 Not Found:资源不存在
  • 500 Internal Server Error:服务器内部错误
  • 503 Service Unavailable:服务不可用

缓存策略

  • 强缓存:在资源有效期内,直接从缓存读取,不与服务器通信
  • 协商缓存:强缓存过期后,与服务器确认资源是否更新:
    • 未更新 → 使用缓存
    • 已更新 → 重新获取

HTTP vs HTTPS

  • HTTP:明文传输,端口 80
  • HTTPS:基于 SSL/TLS 的加密传输,更安全,端口 443

TCP 与 UDP

TCP 特点

  • 面向连接
  • 可靠传输
  • 拥塞控制、流量控制
  • 丢失重传(确认应答 + 超时重传)

TCP 机制

  • 拥塞控制
    • 慢启动(指数级增长)
    • 达到阈值后线性增长
    • 拥塞发生时,发送窗口减半
  • 流量控制
    • 接收方控制发送速率
    • 窗口大小动态调整

UDP 特点

  • 无连接,不保证可靠性
  • 丢包不重传,时效性高
  • 常用于直播、语音通话等场景

TCP 三次握手

  1. 客户端 → 服务端:SYN
  2. 服务端 → 客户端:SYN + ACK
  3. 客户端 → 服务端:ACK

👉 目的:保证客户端和服务端都能正常收发数据,通道双向可用。