域名解析
浏览器将输入的域名通过DNS进行解析:
首先浏览器检查浏览器DNS缓存中有没有这个域名 , 如果找不到则从操作系统的DNS缓存中找 , 如果还是找不到 , 则查询系统的host文件 , 如果还是找不到,根据配置的DNS地址如114.114.114.114,去对应的服务器中查询,查询出的一个域名对应一个ip地址
浏览器DNS缓存–>系统DNS缓存–>系统DNS缓存–>配置的DNS地址服务器
发起TCP的3次握手
拿到了ip地址之后,浏览器向服务器发起3次握手:
- 客户端向服务器发送一个TCP的试探连接, 一次握手 , 服务器确认客户端可以发出消息
- 服务器同意建立TCP连接,返回确认信息,两次握手, 客户端收到响应消息,确认服务器可以收发消息
- 客户端再向服务器确认消息,三次握手. 服务器知道客户端可以收到消息. 这个时候就建立起了TCP连接.
因为计算机之间的通信是通过协议来实现的,所以3次握手的目的,就是为了确认对方是否支持TCP协议,确认支持后就可以通信了.
1:A发,B收, B知道A能发
2:B发,A收, A知道B能发收
3:A发,B收, B知道A能收
建立TCP连接,发起http请求
http请求包括请求头, 请求体, 请求行等信息服务器处理http请求,响应给浏览器
服务器的web程序处理http请求,处理之后将数据(如html代码)响应给浏览器
状态码: 200 访问成功.
404 请求的资源不存在
400 请求有错误
500 服务器内部错误
502 服务器代理联系不到后面的服务器浏览器解析请求中的html代码, 请求http中的资源,如js,css,图片
断开TCP连接,浏览器对页面进行渲染