每天面对浏览器,打开一个又一个网页,可曾想过,从输入域名到浏览器显示页面,中间经历了怎么的过程?
域名
从我们向浏览器地址栏输入目标网站的url并按下回车的那一瞬间,故事便拉开了帷幕。
DNS域名解析
DNS: 域名解析系统(Domain Name System)
DNS就像是一位翻译官,它负责将域名解析为对应的ip地址。域名是为了用户记忆和输入方便而诞生的系统,在输入域名后,DNS服务器将域名转换为对应的ip。
TCP与三次握手
获得目标ip之后,客户端就需要与服务器建立连接了。
TCP: 传输控制协议(TCP,Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层通信协议。
建立TCP连接之前,必须经过“ 三次握手 ”。
三次握手过程:
1.客户端向服务端发送连接请求(SYN数据包);
2.服务端收到客户端发送的请求后,回复客户端确认信息(SYN/ACK数据包);
3.客户端收到确认信息后,再次向服务端发送确认信息。(ACK数据包);
连接建立之后,客户端发送http请求,服务端响应,客户端收到数据。
浏览器渲染
在客户端获得需要的数据之后,生成DOM树和css树,浏览器根据渲染树,在浏览器页面进行 渲染。