1.HTTP基本介绍
HTTP协议,又称超文本传输协议,在应用层协议中使用非常广泛。
TCP/IP模型可见博客
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《每天一个小细节:网络编程常用名词解释》, 一起来围观吧 https://blog.csdn.net/naititi/article/details/127260869?utm_source=app&app_version=5.0.1&code=app_1562916241&uLinkId=usr1mkqgl919blen
那么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协议的基本格式就是这样了,下一篇文章将对里面的属性更进一步的解释,感谢阅读。