Skip to content

网络

HTTP 状态码

1xx 表示消息
2xx 表示成功
3xx 表示重定向
4xx 表示请求错误
5xx 表示服务器错误

200 请求成功;201 成功创建;204 无内容;
301 永久移动;302 临时移动;
401 未授权;403 禁止请求;404 未找到;405 禁用方法;408 超时;
502 错误网关;503 服务不可用;504 网关超时;505 HTTP 版本不支持

HTTP 和 HTTPS 的区别?HTTPS 为什么更安全?

HTTP 是明文传输的超文本传输协议;HTTPS 是在 HTTP 的基础上加入了 SSL/TLS 加密层,能够实现身份校验和加密传输。

区别

维度HTTPHTTPS
协议特点明文传输HTTP + SSL/TLS
安全性容易被窃听、篡改、伪造支持加密、完整性校验、身份认证,更安全
默认端口80443
性能只需要 TCP 建立连接,开销更小还需要 TLS 握手,开销更高一些
证书不需要证书需要 CA 颁发的证书

过程

可以简化成下面几步:

  1. 浏览器向服务器发起 HTTPS 请求
  2. 服务器返回自己的证书和公钥
  3. 浏览器验证证书是否合法
  4. 验证通过后,浏览器生成一个随机密钥
  5. 浏览器用服务器公钥加密这个随机密钥,并发送给服务器
  6. 服务器用私钥解密,拿到这个随机密钥
  7. 之后双方使用这个会话密钥进行对称加密通信

HTTPS安全原理

  • 混合加密(非对称传密钥,对称传数据)

  • 摘要算法生成数字指纹保证消息完整

  • 数字签名(私钥加密指纹,公钥解密验证)实现身份认证

  • 第三方数字证书

TCP UDP

总结

TCP 是面向连接、可靠传输的协议;UDP 是无连接、不保证可靠性的协议。

区别

维度TCPUDP
连接方式面向连接,需要先建立连接无连接,直接发送数据
可靠性可靠传输,保证不丢失、不重复、按序到达不保证可靠性,可能丢包、乱序
传输方式面向字节流面向报文
传输效率较低,控制机制多较高,开销小
首部开销较大,最少 20 字节较小,8 字节
控制机制有流量控制、拥塞控制没有流量控制和拥塞控制
通信模式一般用于一对一通信支持一对一、一对多、多对多

TCP 和 UDP 的核心区别就是:TCP 更可靠但更重,UDP 更轻量但不可靠。实际选择取决于业务更看重“可靠性”还是“实时性”。

OSI 七层模型是什么?

层级名称主要作用常见协议 / 例子数据单位
7应用层直接为应用程序提供网络服务HTTP、HTTPS、DNS、FTP报文
6表示层数据格式转换、加密、压缩SSL/TLS、JPEG、ASCII报文
5会话层建立、管理、终止会话Session报文
4传输层端到端传输,保证可靠性、顺序、重传TCP、UDP数据段
3网络层IP 寻址和路由选择IP、ICMP数据包
2数据链路层MAC 寻址、成帧、差错检测以太网、交换机
1物理层比特流传输,负责电信号/光信号传输网线、光纤、网卡比特