1.用户在浏览器中打回车
2.浏览器读取地址栏中读取到url
- 浏览器开始识别url中的协议(http,https,ftp等等)
- 域名解析
- 查找本地的hosts文件,本地host有对应的ip地址,就向该ip地址发送请求(解释:hosts文件是一个没有扩展名的系统文件,它的主要作用是能加快域名解析,还可以屏蔽网站等。)
- 如果本地hosts没有,就找本地的域名服务器(DNS),如果本地域名服务器没有,没有就找根域名服务器。(解释:本地DNS一般是指你电脑上网时IPv4或者IPv6设置中填写的那个DNS。这个有可能是手工指定的或者是DHCP自动分配的)
- 根据ip地址访问服务器
3.浏览器访问服务器:
浏览器根据解析后的ip地址访问服务器:浏览器发送tcp连接(三次握手),建立tcp连接后,发送http请求。
4. 服务器处理请求,并响应给前端:
服务器接收到浏览器端的请求后,
- 会根据请求的地址,找对应的文件
- 如果是动态的资源(如:php,jsp,py等等),则服务器端会执行该文件的代码,把执行的结果,发给浏览器端
- 如果是静态资源(HTML,CSS,JS,图片,声音等等),则直接发给浏览器端
5. 浏览器接收服务器端的响应
浏览器端接收到服务器响应的结果,开始进行解析HTML代码,解析时,如果碰到静态资源的连接(如:<link src=”*.css” />,<script src=”*.js” ></script><img src=”*.jpg” />),则再次发送请求。
6.浏览器最终显示出了页面
关于浏览器如何解析HTML代码和渲染过程,我在后续文章中再写