HTML知识点

96 阅读2分钟

1、如何理解 HTML 语义化?

  • 让人更容易读懂(增加代码可读性)
  • 让搜索引擎更容易读懂,有助于爬虫抓取更多的有效信息,爬虫依赖于标签来确定上下文和各个关键字的权重(SEO)
  • 在没有 CSS 样式下,页面也能呈现出很好地内容结构、代码结构

2、script 标签中 defer 和 async 的区别?

  • script:会阻碍 HTML 解析,只有下载好并执行完脚本才会继续解析 HTML。
  • async script:解析 HTML 过程中进行脚本的异步下载,下载成功立马执行,有可能会阻断 HTML 的解析。
  • defer script:完全不会阻碍 HTML 的解析,解析完成之后再按照顺序执行脚本。

下图清晰地展示了三种 script 的过程:

script标签JS执行顺序是否阻塞解析HTML
script在 HTML 中的顺序阻塞
script async网络请求返回顺序可能阻塞,也可能不阻塞,取决于script下载完html是否解析完
script defer在 HTML 中的顺序不阻塞

图解详情:www.growingwiththeweb.com/2014/02/asy…

3、从浏览器地址栏输入 url 到请求返回发生了什么

  1. 输入 URL 后解析出协议、主机、端口、路径等信息,并构造一个 HTTP 请求
  1. DNS 域名解析 字节面试被虐后,是时候搞懂 DNS 了

  2. TCP 连接 3次握手

    为什么需要三次握手,两次不行吗? 其实这是由 TCP 的自身特点可靠传输决定的。客户端和服务端要进行可靠传输,那么就需要确认双方的接收和发送能力。 第一次握手可以确认客户端发送能力, 第二次握手,确认了服务端发送能力接收能力, 第三次握手才可以确认客户端接收能力。不然容易出现丢包的现象。

  3. 发起HTTP请求

  4. 服务器处理请求并返回 HTTP 报文

  5. 浏览器渲染页面

  6. 断开TCP连接 4次挥手

参考文章: