当你在浏览器地址栏敲下:www.baidu.com,点击回车键后,其实背后有一系列动作:
1.首先会查找浏览器缓存,是否有 www.baidu.com 缓存内容,如果有,直接返回缓存中内容到客户端;
如果缓存中不存在,则进行下一步查找操作;
2.请求 DNS 服务器,将域名解析为:IP,来查找是否包含服务器,如果不包含,继续向上一层级的 DNS 服务器请求,直至找到对应 IP 的服务器;
3.当浏览器拿到对应域名的 IP 后,会与服务器通过 TCP 协议建立三次握手;
4.服务器获取请求报文中的资源 web 服务器,或是动态生成资源,放到服务器端特定的目录;
5.服务器构建响应报文,包括:状态码、响应首部以及响应主体;
6.服务器发送响应报文给客户端;
7.客户端接收到服务器响应后,调用 css、js 以及图片等资源渲染出页面数据进行展示;