计算机网络概论
- 网络结构
网络结构就是网络的网络
网络结构主要是用于分割不同区段,保证每个区段的功能能够相对的独立,相当于敏捷开发的思想,分割区域,单区域/单文件开发维护,达到局部最优,分清各自的职责、功能。
- HTTP1 / HTTP2 / HTTP3 (QUIC)
HTTP1.1:请求-响应模型
前一个请求响应完,下一个请求才能响应。如果有一个大的请求,那么会导致堵塞,并且无法复用。效率低
HTTP2:帧
可以多路复用,跳转响应传输优先级,头部压缩,在TCP中依然会有队头堵塞。3RTT启动,速度慢
HTTP3:QUIC
Quick UDP Internet Connection
1RTT 时间短了
QUIC第一次连接1RTT,第二次连接会记住,相当于缓存,可以实现0RTT事件
- CDN
DNS 劫持
CDN服务器 会确定选择最近的CDN服务器,让延迟更低
通常来说,让CDN服务器中储存大部分基础的、或者访问多的内容。例如把很火的电影放在CDN服务器,而热度少的电影拉策略,默认什么都不做,谁需要了再去找。
- WebSocket
有状态的持久连接
服务端可以主动推送消息
WebSocket发送消息比HTTP延迟低
从HTTP协议升级而来
- 网络安全(SSL/TLS/基础密码学)
对称加密,非对称加密,密码散列函数(哈希函数)
(记得之前自己装系统,就有提示下载系统的安装包后,对比安装包文件的哈希值和官方给的哈希值进行对比,相同则代表两份文件相同)
想要实现身份验证,通信双方要先有秘密信息,即根证书中的公钥
HTTPS: 把HTTP明文换成密文,再验证身份
HTTPS = HTTP + TLS
TLS = 身份验证 + 加解密
身份验证靠PKI
服务端身份验证靠KPI, 客户端身份验证靠HTTP协议