Web面试基础
- osi五层是哪五层
物理层,链路层,网络层,传输层,应用层 - https网页登陆流程
- 域名解析:浏览器缓存查看,本地缓存查看,本地域名服务器,根域名服务器,顶级com域名服务器,权限域名服务器
- 浏览器封装http报文,向服务器发送http请求
- tcp三次握手
- 客服端发送带有syn(N)的请求到服务器,
- 服务器收到请求后返回一个ACK(N)+SYN(N)
- 客户端收到服务器信息后,返回一个ACK(N),处于establish状态
* 如果是https,流程如下 ** 浏览器发送支持的所有的加密请求给服务器 ** 服务器收到后,筛选选择出合适的加密协议发送给客户端 ** 服务器发送证明,并且证书中有公钥信息发送给浏览器 ** 浏览器用根证书验证证书的的有效性 *** 如果不是信任的证书,浏览器弹出警告信息(选择信任证书) ** 证书验证信任 ** 浏览器生成一堆私钥信息,用证书的公钥加密私钥,发送给服务器 ** 服务器用证书的私钥解密出浏览器的对称私钥,使用对称的秘钥加密数据 ** 浏览器解密数据,并开始通信 ** 服务器处理并返回http报文,网络层用IP协议进行封装 ** 浏览器接受响应 ** 渲染网页 ** 断开连接 所以在整个流程,先DNS解析,TCP三次握手,ssl证书认证,http传输(网络层(IP)-- >>传输层(TCP)—> SSL —>>应用层(http))
|