输入URL后发生了什么

  1. 用户在浏览器地址栏中输入网站域名
  2. 浏览器拿到该域名先去本地hosts文件中查找对应的ip地址,未找到时自动去请求 DNS服务器查询 用户输入的域名对应的 ip 地址
  3. 浏览器拿到 ip 地址之后,通过ip地址+端口号(HTTP默认80)和服务器建立连接(通过 三次握手 )
  4. 三次握手建立连接成功之后
  5. 浏览器将用户输入的 url 地址通过 HTTP 协议包装成 请求报文 ,然后通过 Socket(服务器ip地址和端口号) 发送到服务器
  6. 当HTTP服务器接收到客户端浏览器发送过来的请求报文时候,按照 HTTP 协议将请求报文解析出来
  7. 然后服务器拿到请求报文中的请求信息(例如请求路径url),做相应的业务逻辑处理操作
  8. 当业务逻辑处理完毕之后,服务器将要发送给客户端的数据按照 HTTP 协议包装成 响应报文
  9. 然后服务器通过 Socket(客户端的ip地址+端口号) 将响应报文数据发送给客户端浏览器
  10. 当浏览器接收到服务器发送给自己的响应报文数据的时候,浏览器根据 HTTP 协议将报文内容解析出来
  11. 浏览器拿到响应报文体中的数据开始 解析渲染html、css,执行 JavaScript,如果在解析的过程(从上到下)中,发现有外链的标签(link、css、img),浏览器会自动对该标签指向的 路径地址 发起新的请求(还是通过 Socket )。
  12. 解析html生成dom树 + cssom树,结合二者生成最终的渲染树,然后浏览器UI后端进行最终的绘制。浏览器解析渲染的过程并非严格顺序执行的,而是串行进行,为了提高网页性能,要减少浏览器的reflow和repaint。

浏览器的主要结构:

  1. 浏览器引擎 + 渲染引擎 + JS解释器
  2. 用户界面 + UI后端
  3. 网络
  4. 数据存储


    image.png

参考:
里面除了讲url输入后的事情,还讲到了浏览器的主要结构
这个步骤描述比较简洁

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容