【前端学习之路】浏览器工作流程

59 阅读2分钟

浏览器的工作步骤

  • 用户输入url
  • 浏览器从本地缓存查找有无访问信息,有则直接读取,无则向当地配置网络的dns服务器发送查询请求。
  • 查找到对应IP地址后,发送连接请求(TLS七次握手)。
  • 客户端发送资源请求(http/https...),一般分为请求行、请求头和请求体。
  • 服务器发送资源,以及状态码等信息。
  • 浏览器接收资源:解析文档,构建DOM树、CSSOM树,将俩合成一个渲染树。浏览器根据渲染树的信息对页面进行布局,最后将内容绘制到页面上。

名词解释:

  • DNS(Domain Name System): 域名与ip地址之间的翻译官。将用户输入的域名翻译为机器可理解的ip地址,进行通讯。
  • TLS7次握手:
    1. 客户端生成随机数R1,请求服务。
    2. 服务端确定加密套件,生成随机数R2,请求客户端。
    3. 服务端下发证书给客户端。
    4. 客户端验证证书合法性,验证身份,取出公钥,生成随机数R3,再用公钥与R3生成PreMaster Key,传回给服务端。
    5. 服务端通过私钥解密得到R3,届时两端都拥有随机数R1、R2、R3。两端根据相同算法生成一段秘钥用于这次加密通信。
    6. 客户端发送第一条加密信息,服务端返回解密成功后,返回信息告知客户端之后都使用加密。
    7. 数据传输。
  • http常用状态码:
    • 200(请求成功)、201(创建新资源成功)、204(请求处理完成,没有返回)
    • 301(请求资源已永久搬迁)、302(请求资源临时从别的地方返回)
    • 400(请求格式错误)、401(无权限)、403(服务器接收成功,但拒绝处理)、404(无法找到资源)、408(请求超时)
    • 500(服务器内部错误)、502(网关获取无效的上游服务器响应)、503(服务器过载)、504(收不到上游服务器请求)