协议
概念
协议的存在是基于连接才有意义的
协议可以理解为一种规范,定义了两个或多个通信实体之间交换的报文格式、顺序以及动作等等。
网络是由主机、路由器、交换机等组成的
HTTP协议 HTTP连接模型 HTTP1.1无法多路复用
什么叫多路复用?
多路复用就是把多个低速信道组合成一个高速信道的技术
HTTP2 帧
好处:
- 调整响应传输优先级
- 头部压缩
- Server Push ServerPush就是服务端推送技术 比如html5中的websocket、sse等等
DNS
域名解析系统 也相当于是互联网上作为域名和IP地址相互映射的一个分布式数据库
CDN
内容分发网络
CDN的工作原理
假设通过CDN加速的域名为www.a.com,接入CDN网络,开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处理流程如下:
- 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。
- LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。
- 当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。
- 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
- LDNS获取DNS返回的解析IP地址。
- 用户获取解析IP地址。
- 用户向获取的IP地址发起对该资源的访问请求。
websocket
有状态的持久连接 属于server push 用websocket发消息延迟比http低
网络安全
原则
机密性
完整性
身份验证
对称加密和非对称加密
对称加密: 加密、解密用同样的密钥
非对称加密: 加密、解密使用不同的密钥,公钥加密只能用私钥解密、私钥加密只能用公钥解密
密码散列函数(用来实现完整性)
即hash函数
输入:任意长度的内容 输出:固定长度的hash值 性质: 找到两个不同的输入使之经过密码散列函数后有相同的hash值,在计算上是不可能的
身份验证可以采用【数字签名】的方式 数字签名: 对明文内容的hash用私钥加密,验证者用公钥解密 属于非对称加密
把http的明文换成密文,再验证身份 === https
https = http + tls(身份验证+解密)