HTTP 导航
真正做生意的人,只赚取有限的利润,暴利是长久不了的
——K 先生
在写这章时,主要参考了《透视 HTTP 协议》的内容。这里我只取重要的内容讲解。了解 HTTP 协议,目的是什么,了解它是为了什么?
一方面现代开发都是前后端分离,前端需要调用接口就需要了解网络请求,那多多少少需要了解 HTTP 协议。其次呢?在面试的时候我们常会遇到各种各样的 HTTP 相关问题。如果你自信了解 HTTP,不妨看看这些面试题
在我的 HTTP 世界里,必须要先了解 HTTP 是什么,知道它是什么,它有什么特点,对它有个大致的了解。其次要知道 HTTP 的历史,从中了解到从协议的制定到 HTTP0.9/1.0、HTTP1.1、HTTP2.0、HTTP3.0,了解每个阶段 HTTP 协议的历史背景,从纵向角度理解网络层面的性能优化是因什么原因而优化。再然,我们就一个问题展开,那就是和从输入 url 到看到页面发生了什么展开,看看这道网红题究竟要考哪些知识。其中涉及到底层的TCP/IP 协议、TCP 连接时会经历三次握手和四次挥手、而发送和响应的报文内容有什么呢?它是由什么组成的?所以我们会去了解下[HTTP 的报文组成](./HTTP 报文组成.md),并且把HTTP 状态码单独作为一节好方便自己查看状态码代表意义
我们再根据 HTTP 是不安全的协议,所以有了 HTTPS ,尝试理解对称加密和非对称加密
我们还不得不提一嘴 HTTP 缓存,因为它是个对网页提速帮助很大的特性
这时,我们再去看从输入 url 到看到页面发生了什么。能发现这套题把所有知识点都串起来,而且还把浏览器方面的知识点做了一些补充,可谓是一石二鸟,即考察了面试者的网络方面知识、又考察了他对浏览器的理解,后续还可以衍生性能优化方面的问题
最后,我们将所有知识总结一下,总结下网络层面的性能优化