计算机网络
1.通过实例了解计算机网络
分析方法:
自底向上(简单to复杂)
自顶向下(复杂to简单)
2.网络基础
网络组成:
主机:客户端和服务端
路由器
网络协议(协议的存在依赖于连接)
网络协议:标头和载荷
网络结构:网络的网络
局域网、城域网、广域网
信息交换方式
电路交换、分组交换
网络分层
网络、运输、应用(屏蔽其它层)
协议
定义通信实体间报文格式和顺序,以及发送接收时需进行的操作
IP协议头部:无状态、无连接、不可靠
HTTP协议头部
TCP协议格式
3.Web中的网络
HTTP协议
HTTP连接模型
短连接: 每发一个请求就建立新连接,收到应答关闭。(效率低下)
长连接: 保持连接多次请求,减少了打开连接的时间。
HTTP流水线: 多个连续请求不用等待返回。
HTTP 1.1
无法多路复用
HTTP 2:帧
调整响应传输优先级
头部压缩 ServerPush
队头堵塞 3RTT
HTTP 3
QUIC( quick UDP internet connection)
首次 1RTT
二次 0RTT
但无法突破物理极限
CDN
解决HTTP协议之外问题
WebSocket
有状态的持久连接 服务端可以主动推送消息 发送时延比HTTP低(Websocket在HTTP基础上升级)
4.网络安全
网络安全三要素
机密性(攻击者无法获知通信内容)
完整性(攻击者对内容篡改时能被发现)
身份验证(攻击者无法伪装成通信双方进行通信)
1)如何实现身份验证:对称加密与非对称加密(公钥和私钥)数字签名(私钥加密 公钥验证)(双方需要先有秘密信息,即根证书中的公钥)
2)如何实现完整性:哈希函数(输出固定长度的哈希值) 完整性和身份验证
3)如何实现机密性(双方需要先有秘密信息)
HTTPS=HTTP+TLS
TLS=身份验证+加解密
[服务端身份验证靠PKI,客户端靠HTTP]