1.HTTPS加密过程
HTTPS是基于对称加密和非对称加密的;
对称加密和非对称加密:
- 1.网站拥有非对称加密的公钥A1和私钥A2
- 2.公钥明文传输给浏览器
- 3.浏览器收到这个A1之后,随机生成一个对称加密的**X,用公钥A1加密后传给服务器
- 4.服务器收到后用A2解密得到**X
- 5.这样双方就有X了,双方就可以都用X传输
这样的机制会出现中间人攻击的问题,为了解决这个问题,加入了数字证书和数字签名
数字证书是由权威CA机构颁发的:一般有证书持有者、证书持有者的公钥等信息
如何防止证书在颁发过程中不被篡改:我们把证书内容生成一份“签名”
数字签名的制作过程撕:
- CA拥有对称加密的公钥和私钥
- CA对明文信息机进行hash
- 对hash后的值用私钥加密,得到数字签名
浏览器验证过程:
- 拿到证书T1,数字签名S1
- CA的公钥解密得到S2
- hash算法对T1 hash得到T2
- 比较S2==T2 等于则证明证书可信
然后HTTPS的工作过程:
- 服务端向CA申请数字证书
- 传送证书
- 客户端验证证书,没有问题就生成一个随机值(**),用证书加密
- 传送加密信息,即证书加密过后的**
- 服务端得到证书,私钥解密,得到**
- 之后的过程就按对称加密走
2.http请求方法
(1)get:获取资源
(2)post:
3.HTTP
一种无状态,以请求、应答方式运行的协议,他使用可扩展的语义和自述描述消息格式、与基于网路的超文本信息系统灵活的互动
客户端发送一个HTTP请求,HTTP的请求格式如下:
请求行:描述请求或响应的基本信息
请求头:使用key-value形式更加详细的说明报文
空行:
请求数据:实际传输的数据、不一定是文本、可以是图片、视频等二进制数据
- 版本号:表示报文使用的HTTP协议版本
- 状态码:
- 作为数字状态码补充、是更详细的解释文字、帮助人理解原因
常用头字段:
- 请求字段:请求头中的头字段,但基本可以分为两大类:HOST、Referer
host:标识当前的链接是和哪一个服务建立的: referer来源的判断
- 响应字段:响应头中的字段,如Server,Data
server:哪一种类型的服务器 data 时间
- 通用字段:在请求头和响应头都可以出现:Content-type,Connection
content-type:请求头 了解什么类型的数据 connection:
4.dns解析过程