应用层知识体系

HTTP协议

基础概念

  • HTTP发展历史

    • HTTP/0.9(1991):单行协议
    • HTTP/1.0(1996):添加头信息
    • HTTP/1.1(1997):持久连接
    • HTTP/2(2015):二进制分帧
    • HTTP/3(2022):基于QUIC协议
  • 报文结构

    • 请求报文(请求行、请求头、空行、请求体)
    • 响应报文(状态行、响应头、空行、响应体)
  • 请求方法

    • GET:获取资源
    • POST:提交数据
    • PUT:上传资源
    • DELETE:删除资源
    • HEAD:获取报文头部
    • OPTIONS:查询支持的方法
    • TRACE:追踪请求-响应的传输路径
    • CONNECT:建立隧道连接

核心机制

  • 状态码分类

    • 1xx:信息性状态码(请求已接收,继续处理)
    • 2xx:成功状态码(请求已成功接收、理解、接受)
    • 3xx:重定向状态码(需要进一步操作完成请求)
    • 4xx:客户端错误状态码(请求包含错误或无法完成)
    • 5xx:服务器错误状态码(服务器无法完成有效请求)
  • 首部字段

    • 通用首部字段(Cache-Control、Connection)
    • 请求首部字段(Accept、User-Agent、Cookie)
    • 响应首部字段(Server、Set-Cookie)
    • 实体首部字段(Content-Type、Content-Length)
  • 连接管理

    • 短连接与长连接
    • 管道化请求
    • 连接复用

高级特性

  • 缓存机制

    • Cache-Control缓存策略
    • 条件请求(If-Modified-Since、ETag)
    • 缓存验证(强验证器与弱验证器)
  • Cookie机制

    • Cookie属性(Domain、Path、Expires/Max-Age、HttpOnly、Secure、SameSite)
    • 会话管理
    • 第一方Cookie与第三方Cookie
  • 内容协商

    • 服务器驱动协商
    • 客户端驱动协商
    • 协商首部字段(Accept、Accept-Language、Accept-Encoding)
  • HTTPS与SSL/TLS

    • TLS握手过程
    • 证书验证机制
    • 加密套件选择
    • 前向安全性
    • HSTS(HTTP严格传输安全)
  • HTTP/2新特性

    • 二进制分帧层
    • 多路复用
    • 头部压缩(HPACK算法)
    • 服务器推送
    • 流量控制
  • HTTP/3与QUIC

    • UDP基础
    • 0-RTT连接建立
    • 连接迁移
    • 改进的拥塞控制

安全考量

  • Web安全
    • 同源策略
    • CORS(跨源资源共享)
    • CSP(内容安全策略)
    • XSS防护
    • CSRF防护

DNS系统

基础架构

  • DNS层次结构

    • 根域名服务器
    • 顶级域名服务器(TLD)
    • 权威域名服务器
    • 本地域名服务器(递归解析器)
  • 域名空间

    • 域名层次结构
    • 域名注册与管理
    • 国际化域名(IDN)

解析机制

  • 域名解析过程

    • 递归查询流程
    • 迭代查询流程
    • 缓存机制
  • 资源记录类型

    • A记录(IPv4地址记录)
    • AAAA记录(IPv6地址记录)
    • CNAME记录(别名记录)
    • MX记录(邮件交换记录)
    • NS记录(名称服务器记录)
    • PTR记录(指针记录,反向查询)
    • SOA记录(起始授权记录)
    • TXT记录(文本记录)
    • SRV记录(服务定位记录)

高级特性

  • DNS负载均衡

    • 轮询DNS
    • 地理位置DNS
    • Anycast DNS
  • DNS安全

    • DNSSEC(DNS安全扩展)
      • 资源记录签名
      • 信任链验证
    • DNS over HTTPS (DoH)
    • DNS over TLS (DoT)
    • 防止DNS欺骗和缓存投毒

其他应用层协议

电子邮件协议

  • SMTP(简单邮件传输协议)

    • 邮件发送流程
    • SMTP命令与响应
    • 邮件格式(MIME)
  • POP3(邮局协议版本3)

    • 邮件获取流程
    • POP3命令集
  • IMAP(互联网消息访问协议)

    • 与POP3的区别
    • 邮件管理功能

文件传输协议

  • FTP(文件传输协议)

    • 控制连接与数据连接
    • 主动模式与被动模式
    • FTP命令集
  • SFTP(SSH文件传输协议)

    • 安全特性
    • 与FTP的区别

网络管理协议

  • SNMP(简单网络管理协议)
    • 管理信息库(MIB)
    • SNMP操作(Get、Set、Trap)

实时通信协议

  • WebSocket

    • 与HTTP的关系
    • 握手过程
    • 数据帧格式
    • 心跳机制
  • WebRTC

    • NAT穿越技术
    • 信令机制
    • 媒体协商(SDP)
    • ICE框架

应用层安全

身份认证

  • 基于密码的认证
  • 多因素认证
  • OAuth 2.0
  • OpenID Connect

数据保护

  • TLS/SSL
  • 端到端加密
  • 数字签名

应用层设计模式

REST架构

  • 资源表示
  • 状态转移
  • 无状态通信
  • HATEOAS原则

GraphQL

  • 与REST的对比
  • 查询语言结构
  • 类型系统

微服务通信

  • API网关
  • 服务发现
  • 负载均衡