应用层知识体系
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欺骗和缓存投毒
- DNSSEC(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网关
- 服务发现
- 负载均衡