HTTP实用指南 | 青训营笔记

62 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的第5天。
作为前端开发者,我们必不可少的要与游览器打交道,那么HTTP应用层协议也是我们学习过程中必然要重点学习的,对于我们的学习或者面试找工作都有极其重要的作用。以下内容主要介绍关于HTTP的一些相关知识,可以作为前端求职http方向知识点掌握方向来看待。

一、初识HTTP

提到HTTP,这就不得不多提一嘴计算机网络模型了(毕竟上学期才学的,嘻嘻)。目前比较流行的计算机网络的模型有两种。一种是7层模型,应用层——>表示层——>会话层——>传输层——>网络层——>数据链路层——>物理层。另一种是5层模型,应用层——>传输层——>网络层——>数据链路层——>物理层

HTTP 全称为Hyper Text Transfer Protocol超文本传输协议,是应用层协议,基于传输层的TCP协议。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而 [9]  消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。并且它简单可扩展,没有特定的状态。

二、协议分析

协议的发展 :

image.png

HTTP的请求有很多种,但最为常用的还是标红的那四种:

image.png

对于请求返回的状态码多种多样,我们也需要具备一定的了解。

image.png

接下来呢,我们要接触一个名词RESTful API,是具有RESTful风格的一种API设计风格。REST——Representational State Transfer。

  1. 每一个URL代表一种资源;
  2. 客户端和服务器之间,传递这种资源的某种表现层;
  3. 客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态化”。
image.png

关于HTTP请求也有许多常用的请求头

image.png

而相应的服务端也会有对应的响应头

image.png

而关于网络缓存呢?又分为强缓存协商缓存

image.png image.png

关于游览器缓存有下列的一个流程:

image.png

关于cookie也有很多的参数:

image.png

HTTP/2 相比较于之前的HTTP协议,具备更快、更稳定、更简单的特点。因为HTTP/2连接都是永久的,而且仅需要每个来源一个连接。而且使用流控制,来阻止发送方向接收方发送大量数据的机制。并且还有服务器推送。

image.png

并且还具有以下特点
帧(frame): HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。
消息: 与逻辑请求或响应消息对应的完整的一系列帧。
数据流: 已建立的连接内的双向字节流,可以承载一条或多条信息。
交错发送,接收方重组织。

接下来说一下HTTPSimage.png

三、实战观察

image.png image.png image.png image.png image.png image.png

四、拓展部分

image.png image.png

希望能对学HTTP的同学有那么一丁丁儿的帮助吧,当然也是我以后深入学习HTTP的一个参照。