zoukankan      html  css  js  c++  java
  • 经典面试题: 从输入URL到页面加载的过程发生了什么?

    可以分为这几个大的过程:

    1. DNS解析
    2. TCP连接
    3. 客户端发送HTTP请求
    4. 服务器处理请求并返回HTTP报文
    5. 浏览器解析渲染页面
    6. 结束

    其中(1)DNS解析可以理解为主寻找这个IP地址的过程,其中如果找到IP地址会进行本地缓存,以便下次继续使用

      (2)HTTP协议是使用TCP作为其传输层协议的

      (3)HTTP请求报文是由三部分组成: 请求行请求报头请求正文

         例如请求行:GET index.html HTTP/1.1,常见的请求报头有: Accept, Accept-Charset, Accept-Encoding, Accept-Language, Content-Type, Authorization, Cookie, User-Agent等,请求正文一般是一些需要客户端向服务端发送的数据

      (4)HTTP响应报文也是由三部分组成: 状态码响应报头响应报文

         状态码是由3位数组成,第一个数字定义了响应的类别,且有五种可能取值:

      • 1xx:指示信息–表示请求已接收,继续处理。

      • 2xx:成功–表示请求已被成功接收、理解、接受。

      • 3xx:重定向–要完成请求必须进行更进一步的操作。

      • 4xx:客户端错误–请求有语法错误或请求无法实现。

      • 5xx:服务器端错误–服务器未能实现合法的请求。
        平时遇到比较常见的状态码有:200, 204, 301, 302, 304, 400, 401, 403, 404, 422, 500(分别表示什么请自行查找)。

        响应报头:常见的响应报头字段有: Server, Connection...。

        响应报文:服务器返回给浏览器的文本信息,通常HTML, CSS, JS, 图片等文件就放在这一部分。

       (5)浏览器一边解析一边渲染

       (6)结束

    详情可以参考完整文章:https://segmentfault.com/a/1190000006879700

          

  • 相关阅读:
    SQL条件的顺序对性能的影响
    在客户端通过外部表访问Trace文件的内容
    Vue 数据持久化
    .Net 垃圾回收机制原理(一)
    密码管理工具KeePass
    SQL Server附加数据库 5123
    网页编码就是那点事
    你真想到了50岁还靠编程来养家糊口吗?
    技术敏感度 — 基层技术管理者必备
    虚拟化、云计算
  • 原文地址:https://www.cnblogs.com/zgx123/p/7379993.html
Copyright © 2011-2022 走看看