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解析过程

 

5.post和patch的区别

6.http1.1和2.0的区别

7.ip地址是虚拟ip,为什么客户端和服务端能通信

8.RAII

9.vector插入过程

10.new malloc map底层

11.算法题是,www.baidu.com转成com.baidu.www

12.口算题:9点15分,时针和分针的夹角

13.进程和线程的区别,其它的一些零碎的想不起来了

14.windows和虚拟机怎么通信的

15.TCP的所有细节搞懂

16.map unordered_map

相关文章: