前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >终极解密输入网址按回车到底发生了什么

终极解密输入网址按回车到底发生了什么

作者头像
用户1263954
发布2022-02-15 13:59:53
5920
发布2022-02-15 13:59:53
举报
文章被收录于专栏:IT技术精选文摘IT技术精选文摘

详解输入网址点击回车,后台到底发生了什么。透析 HTTP 协议与 TCP 连接之间的千丝万缕的关系。掌握为何是三次握手四次挥手?time_wait 存在的意义是什么?全面图解重点问题,再也不用担心面试问这个问题。

大致流程

  • URL 解析,解析 http 协议、端口、资源地址。
  • DNS 查询:首先查询本地 host,再访问 DNS 服务器将 域名解析成 ip 地址。
  • 建立 TCP 连接。
  • 服务器收到请求后处理,并且构造响应返回给客户端。
  • 客户端接收 HTTP 报文响应。
  • 渲染页面,最后有可能会四次挥手断开连接,也可能不会而是复用连接。

重点来了

  • 如何理解 TCP 的三次握手与四次挥手?每次握手客户端与服务端是怎样的状态?
  • 为何挥手会出现 2MSL,遇到大量 Socket 处在 TIME_WAIT 或者 CLOSE_WAIT 状态是什么问题?
  • 三次握手与四次挥手的过程是怎样的?
  • HTTP 的报文格式又是怎样的?

URL 解析

url 遵守的规则是这个样子

Mac 地址

以太网规定了连入网络的所有设备都必须具备“网卡”接口,数据包都是从一块网卡传递到另一块网卡,网卡的地址就是 Mac 地址。每一个 Mac 地址都是独一无二的,具备了一对一的能力。

三次握手

在传输层传输数据之前需要建立连接,也就是三次握手创建可靠连接。

HTTP报文

截取一段报文:

接收到响应文本 HTML,则开始执行浏览器渲染机制。

不同的浏览器渲染可能有所差异,但是基本按照以下步骤执行:

  1. 根据 HTML 解析 DOM 树;
  2. 根据 CSS 解析出 CSS 规则树;
  3. 结合 DOM 树与 CSS 规则树,生成渲染树;
  4. 根据生成的渲染树计算每个节点的信息;
  5. 根据节点信息绘制画面展示给用户。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • URL 解析
    • Mac 地址
      • 三次握手
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档