HTTP框架|青训营笔记

161 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记。

HTTP协议是后端开发者学习过程中必不可少的知识点,理解HTTP协议有助于我们对请求交互在脑海中有一个大概的模型框架,这次借着青训营的课程,也是重温了一次http的知识点。

  1. 什么是HTTP协议? HTTP是超文本传输协议(Hyper Text Transfer Protocol),HTTP协议是在Web上进行数据交换的基础,是一种“客户端-服务器端”协议。TTP诞生之初主要是应用于WEB端内容获取,那时候内容还不像现在这样丰富,排版也没那么精美,用户交互的场景几乎没有。对于这种简单的获取网页内容的场景,HTTP表现得还算不错。但随着互联网的发展和WEB2.0的诞生,更多的内容开始被展示(更多的图片文件),排版变得更精美(更多的CSS),更复杂的交互也被引入(更多的JS)。用户打开一个网站首页所加载的数据总量和请求的个数也在不断增加。

HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态。这就大大减轻了服务器记忆负担,从而保持较快的响应速度。

HTTP是一种面向对象的协议。允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送

  1. HTTP协议报文 客户端与服务器的通讯都是通过一个个请求来实现的,一个HTTP请求的消息包括:请求行、请求头部、空行、请求数据四个部分组成的。

image.png 在请求方法中,常用的主要是GET和POST方法,GET 方法主要是用于向web服务器请求获取数据和资源,而POST主要是将客户端的数据和资源发送给web服务器到达更新和修改的目的 请求头包含许多有关的客户端环境和请求正文有用的信息。比如请求头可以声明浏览器所使用的语言,请求正文的长度等

image.png

HTTP响应头信息

响应头部和请求头部差不多,用于传递一些附加的信息,每一个响应头都是一个键值对,键和值之间用英文冒号隔开,后面都是一个回车符和与一个换行符,即每个响应头都单独形成一行。下图为一些常见的响应头

image.png