涉及范围大,挑选自己的方向说明:
1.浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求;
浏览器根据IP地址向服务器发起TCP连接,与浏览器建立TCP三次握手:
1.客户端向服务器发送一个建立连接的请求(客户端:我要连接你了,可以吗);
2.服务器接到请求后发送同意连接的信号(服务器:嗯,我准备好了,连接我吧);
3.客户端接到同意连接的信号后,再次向服务器发送了确认信号(客户端:那我
连接你咯。),自此,客户端与服务器两者建立了连接。
客户端便与服务器进行通信(客户端向服务器请求数据,服务器返回相应的数据)
2.进行HTTP协议会话,客户端发送报头(请求报头);
3.进入到web服务器上的 Web Server,如 Apache、Tomcat、Node.JS 等服务器;
4.进入部署好的后端应用,如 PHP、Java、JavaScript、Python 等,找到对应的请求处理;
5.处理结束回馈报头,此处如果浏览器访问过,缓存上有对应资源,会与服务器最后修改时间 对比,一致则返回304;
6.浏览器开始下载html文档(响应报头,状态码200),同时使用缓存;
7.文档树建立,根据标记请求所需指定MIME类型的文件(比如css、js),同时设置了cookie;
8.页面开始渲染DOM,JS根据DOM API操作DOM,执行事件绑定等,页面显示完成。