DNS 域名解析过程:
1.浏览器首先查询浏览器的缓存,因为浏览器会按照一定的频率缓存 DNS 记录
 2.若浏览器无缓存,那么查询操作系统的 HOST 文件,查询是否有 DNS 记录。
 3.若还没有命中域名,就请求本地域名服务器该服务器一般都会缓存域名查询结果,因此大部分域名解析都能在这里解析完成
 4.若本地域名服务器还没有命中,就地域名服务器请求根服务器,根服务器返回一个所查询域的主域名服务器文里访问的是 www.baidu.com 百度,即返回.com 的主域名服务器。
 5.本地域名服务器 继续访问 主域名服务器,查找这个域名网站注册的域名服务器6.本地域名服务器 继续访问 本地域名服务器,根据映射关系表找到目标 P 地址,返回给本地域名服务器
 本地域名服务器拿到ip地址后,对这个域名和 IP 地址进行缓存,并将 IP 地返回浏览器,至此,DNS 域名解析过程结束,拿到域名对应的IP地址。
 向服务器请求数据
 拿到百度的服务器地址后,浏览器开始向该 P 地址发起 HTTP/HTTPS 会话请求,而 HTTP/HTTPS 协议皆基于 TCP 协议因此,在进行 HTTP 请求之前,浏览器还需要与百度服务器进行三次握手,建立 TCP 连接。因此,步骤如下:
 1.与服务器进行三次握手,建立 TCP 连接。三次握手传送门
 2.发出 HTTP/HTTPS 请求,由于我们访问的是 www.baidu.com ,因此请求的是百度首页
 3.服务器响应数据发送给客户端浏览器,即百度首页数据.
 4.通过四次挥手,TCP 连接释放。四次挥手传送门
 5.浏览器对首页数据进行解析渲染,将最终的页面效果展示给用户
常见的DNS记录类型如下
 
 
A:地址记录(Address),返回域名指向的IP地址。
 NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。
 MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。
状态码
200-成功 服务器已经成功处理了请求。通常,这表示服务器提供了请求的网页。
 301-永久移动 请求的网页已永久移动到新位置。服务器回返此响应(对GET或HEAD请求的响应)时,会自动将请求者转到新位置
 302- 临时移动 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
 304-未修改 自上次请求后,请求的网页未修改过。服务器返回此响应,不会返回网页的内容。
 307-临时性重定向 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有的位置来进行以后的请求
 301、302、303、307、308之间的区别:
| 缓存(永久重定向) | 不缓存(临时重定向) | |
|---|---|---|
| 转GET | 301 | 302、303 | 
| 方法保持 | 308 | 307 | 
https原理
1,TLS握手过程
 HTTP 由于是明文传输,所谓的明文,就是说客户端与服务端通信的信息都是肉眼可见的,随意使用一个抓包工具都可以截获通信的内容。

 2,RSA密钥协商握手过程
 
 3,数字证书签发和验证流程
 


















