简介:只有自己学到的新东西
网络基础
- 网络组成部分:由主机、路由器、交换机构成
- 网络基本结构:网络的网络
- 信息交换方式:电路交换、分组交换
- 网络分层:(由下到上)物理层、数据链路层、网络层、运输层、应用层
目的:降低成本
- 网络协议:标头和载荷
web中的网络
1. HTTP协议 (红色:请求;蓝色:响应)
- 请求
第一行 请求方式 资源路径 请求版本, 剩下每行是头部,格式为 头部名称:头部值。 其中头部名称不区分大小写
- 响应
第一行(状态行) 版本 状态码 状态信息(可自定义), 后面的信息和请求中相同
2. HTTP连接模型 (队头堵塞)
- HTTP1.1:无法多路复用
- HTTP2:帧
好处: 调整响应传输的优先级、 头部压缩、 Server Push 坏处:在TCP上,队头堵塞;过程:3RTT启动 -> HTTP客户端 -> TCP客户端 -> TLS服务端 -> HTTP客户端
- HTTP3:QUIC(Qucik UDP Internet Connection)
QUIC可以为除HTTP协议以外的应用层协议提供支持,UDP协议不靠谱,不管丢包;QUIC协议很靠谱; QUIC第一次访问: HTTP客户端 -> QUIC客户端 -> QUIC服务端 -> HTTP客户端; QUIC第二次访问: HTTP客户端 -> QUIC服务端 -> HTTP客户端
CDN
1. 全国各地最多两跳
2. DNS劫持
- 域名解析由网站自己处理
- 要加速的域名重定向到CDN厂商的域名解析服务处理
- CDN厂商根据来源确定最近的CDN服务器的IP
- 用户直接访问最近的CDN服务器
拉策略:(用户决定)默认情况什么也不做,谁需要了,先看看仓库有没有。有则直接给,没有则不做回应,过一段时间清库存; 推策略:(网站决定)
WebSocket协议
- 有状态的持续连接
- 服务端主动推送消息
- 用WebSocket发送消息延迟比HTTP低
网络安全
1. 三要素
-
机密性
攻击者无法获知通信内容
-
完整性
攻击者对内容进行篡改时,我们能即使知道
-
身份验证
攻击者无法伪装为通信双方任何一方进行通信
2.加密方式
-
对称加密
加密、解密密钥相同
-
非对称加密
加密用公钥、解密用私钥;私钥签名,公钥验签
3. Hash函数
任意长度输入转化为固定长度输出;性质:找到两个不同输入得到相同输出在计算上不可能
4. PKI
保证了普通用户不需要“面对面”和根证书机构交换根证书
5. HTTPS
把HTTP换为密文,再验证身份,即HTTPS
-
HTTPS=HTTP+TLS
-
TLS=身份验证+加解密
-
身份验证:PKI
服务端身份验证靠PKI,客户端身份验证靠HTTP协议