请说一下浏览器从输入URL 到页面展示这个过程中都经历了什么?你能答出来吗?

小结:地址栏输入url地址 -> 进行DNS解析 -> 建立TCP连接 -> 发送http/https请求 -> 服务器返回数据 -> 浏览器解析并渲染页面 -> 断开TCP连接

用户在地址栏输入地址后回车,

  1. 浏览器校验输入信息
    1. 校验是否是合法URL
    2. 合法则校验URL是否完整。如果不完整的话,可能对地址进行猜测,补全前缀或者后缀。
    3. 不合法的话,则会将输入信息作为查询内容使用默认浏览器查询。
  2. 域名DNS解析成IP地址
    1. 检查浏览器缓存和本地hosts文件是否有这个网址记录;
    2. 没有则采用TCP/IP参数设置中的DNS服务器查询。如果查询结果在本地配置资源中,则直接返回解析结果;
    3. 还没有则检查本地DNS服务器是否缓存该网址的记录,有则返回;
    4. 如果还没有,本地DNS服务器发送查询报文到DNS根服务器,返回顶级域服务器地址;然后本地DNS服务器向顶级域服务器发起查询,返回权威域服务器地址;再然后本地DNS服务器向权威域服务器发起查询,拿到ip地址。
  3. 通过TCP三次握手建立TCP连接
  4. 发送HTTP请求。如果使用HTTPS,会在TCP和HTTP中间加一层协议,用于加密与认证。HTTPS采用ssl和tls协议。
    1. SSL协议的作用是认证客户端和服务器,确保数据发送到正确的客户端和服务器,加密数据防止数据中途被窃取,维护数据完整性,确保数据过程中不被改变。
    2. 安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
  5. 服务响应请求(服务端也会有很多处理。)。
  6. 浏览器并渲染页面。大概是构建HTML dom树,构架CSS dom树,合并两棵树为一棵渲染树,根据渲染树计算每个节点的几何信息,将各个节点渲染到屏幕上。
  7. 断开TCP连接,四次挥手(长连接)。
    请说一下浏览器从输入URL 到页面展示这个过程中都经历了什么?你能答出来吗?_第1张图片

你可能感兴趣的:(计算机网络,服务器,网络,tcp/ip)