HTTP 协议的基本格式和 fiddler 的简单使用

发布于:2022-11-09 ⋅ 阅读:(4) ⋅ 点赞:(0) ⋅ 评论:(0)

1.HTTP基本介绍

HTTP协议,又称超文本传输协议,在应用层协议中使用非常广泛。

在这里插入图片描述
TCP/IP模型可见博客:传送门

那么HTTP协议主要是干什么的呢?我们继续往下看:

一般呢,这个协议常在这些场景出现:
1.浏览器与服务器的交互(打开网页的时候)
2.手机app与服务器交互
3.服务器与服务器交互,也可以使用

就打开网页为例:

我们输入网址,打开了对应网页就是通过HTTP与服务器进行了通信。
在这里插入图片描述
那么HTTP协议的格式是怎么样的呢?接下来就来介绍:

2.协议格式

HTTP协议分为两部分,分别是HTTP请求和HTTP响应。

fiddler下载与使用

在此之前,我们先安装好软件fiddler

官网链接:https://www.telerik.com/fiddler/
安装一路next即可,安装成功后打开即可。
在这里插入图片描述
那么这个抓包是什么意思呢?
一般流程:我们访问网站时
在这里插入图片描述
抓包软件就像个代理,当我们想要知道浏览器和服务器交互的具体信息(请求和响应的具体内容如何)就可以通过抓包软件来完成。
举个通俗的例子:
代理就可以简单理解为一个小弟. 大哥想喝哇哈哈, 又不想自己去超市, 那么就可以把钱给他的小弟, 小弟来到超市把钱给超市老板, 再把哇哈哈拿回来交到大哥手上. 这个过程中, 这小弟对于 “大哥” 和 “超市老板” 之间的交易细节, 是非常清楚的。
在这里插入图片描述

请求

格式:

这里是引用
我们用fiddler整一个请求来看看:
在这里插入图片描述
1.首行,也就是请求行,由方法,URL,版本号组成
2.请求报头Header,由请求的属性, 冒号分割的键值对组成,每组属性之间使用\n分隔
3.空行:代表请求报头结束
4.正文body:空行后面的内容都是正文. 正文允许为空字符串. 如果正文存在, 则在Header中会有一个Content-Length属性来标识正文的长度,待会响应的例子就能见到。

响应

格式:

这里是引用
在这里插入图片描述

状态行: [版本号] + [状态码] + [状态码解释]
响应报头Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束
正文Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个Content-Length属性(空行上一句就是)来标识Body的长度; 如果服务器返回了一个html页面, 那么html页面内容就是在body中

那么HTTP协议的基本格式就是这样了,下一篇文章将对里面的属性更进一步的解释,感谢阅读。