今天是参加笔记活动的的第3天
HTTP3:QUIC-1 RTT
QUIC第一次访问
- HTTP客户端:我要和大哥说话!
- QUIC客户端:嗨!服务端,你在吗?在的话能给我吧钥匙吗?
- QUIC服务端:嗨!客户端,我在,这是你的钥匙!
- HTTP客户端:今天这么快?我要index.html!
- QUIC服务端(偷偷的告诉客户端):这还有把钥匙,下次找我可以不用问,直接用
HTTP:QUIC-0 RTT
QUIC第二次访问
- HTTP客户端:我要和大哥说话!
- QUIC客户端:嗨!服务端,你在吗?后面的话我已经用上次你给我的钥匙加密过了,HTTP那小子肯定要index.html!
- QUIC服务端:嗨!客户端,我在,我知道你要index.html,给你!
- HTTP客户端:?
CDN:
- 你无法突破物理极限的
-
你的钱包够鼓吗
-
你够强大吗
-
DNS劫持
- 域名解析一般由网站自己处理
- 要加速的域名则重定向到CDN厂商的域名解析服务处理
- CDN厂商根据来源确定最近的CDN服务器的IP
- 用户直接访问最近的CDN服务器
-
地主家也没有余粮了
-
拉策略
- 默认情况下什么也不做
- 谁需要了,先看看仓库有没有
- 有,直接给
- 没有,你等着,我去买个橘子
- (每隔几天)这都啥啊,丢了
-
推策略
- 大哥说今天你存这些,明天存那些
- 谁需要了,先看看仓库有没有
- 有,直接给
- 没有,你等着,我去买个橘子
- 大哥说这个这个还有这个,丢了
-
web Socket
-
有状态的持久连接
-
服务端可以主动推送消息
-
用web socket发送消息延迟比HTTP低
-
示例
-
服务端代码
-
客户端代码
-
网络安全
三要素
- 机密性:攻击者无法获知通信内容
- 完整性:攻击者对内容进行篡改时能被发现
- 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信
对称加密和非对称加密
- 对称加密:加密,解密用同样的密钥
- 非对称加密:加密,解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密,私钥加密只能用公钥解密
密码散列函数(哈希函数)
- 输入:任意长度的内容
- 输出:固定长度的哈希值
- 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的
机密性
- 加密需要加密算法和密钥等信息(统称为秘密信息)
- 网络是明文的,不安全
完整性和身份验证
二者相互关联