面试题:HTTP协议基本介绍

在这里插入图片描述
——————————————————————————————————————————————————————————————————————

一、基本概念

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种无状态的应用层协议,基于传输层的TCP协议实现的(HTTP3是个特例基于UDP协议实现),目前主流版本依旧是1.1和2.0版本。

超文本:文本指的是文字通常由二进制编码而成、而超文本自然是比文本更高级一点,可以传输图片、表情等等。
传输协议:简单来说就是二者进行通信过程中共同遵守的规则、只有遵守这个规则双方才能正常传输信息。

二、工作流程

工作流程:客户端发送请求 -> 服务器接收并解析请求 -> 服务器返回响应

🌰:当我们在浏览器输入一个网址时,浏览器就会给服务器发送一个HTTP请求,服务器接收到请求并进行解析,将解析后内容以HTTP响应的格式返回给客户端。
每个请求都是独立的,服务器不会自动保存请求信息(可以利用cookie和session进行保存),这就是为什么说HTTP是一种无状态的应用层协议。

三、请求和响应

我们知道了HTTP的工作原理,那么请求和响应到底是什么呢?我们可以通过抓包工具(Filder\proxyman)来看看具体内容

1.抓包工具的原理

🌰:在旧社会时期朋友之间距离很远,只能通过书信交流写好书信交给快递员,快递员将书信打包成一个包裹,经过长途跋涉交到对方手里。而如今也一样之不过将人力运输转变成网络运输,也需要将信息打包成一个包裹📦进行传递。
现实生活中快递员如果想知道📦里面有什么,只需要拿到📦后打开看看就知道了,但这么做很容易挨揍。
抓包工具原理与其不相径庭,它相当于一个中转站,客户端发出请求交给代理 -> 代理在将请求发送给服务器 -> 服务器解析完后将响应发给代理 -> 代理发送给客户端,因此代理对📦里的内容了如指掌。抓包工具充当的就是代理这个角色。
在这里插入图片描述

2.HTTP请求

在这里插入图片描述
HTTP请求主要分为三个部分:首行、请求报头、请求正文
首行:请求方法(method)、网址(URL)、HTTP版本号三者组成
请求报头(header):请求的参数以key:value键值对形式储存,遇到空行则表示header结束
请求正文:客户端发给服务器的内容,空行后的内容都为body

3.HTTP响应

在这里插入图片描述
HTTP响应同样分为三个部分:首行、状态码、状态码解释
首行:版本号、响应状态码、状态码解释
响应报头(header):响应的属性,同样以key:vualue形式组成,空行表示heade结束
响应正文:服务器发给客户端的内容,空行后的内容都为body

针对HTTP请求/响应内容本章只做简单概括,详细内容请参考:HTTP请求和响应详细解析

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值