曹县网站建设公司,建设工程信息网站,插件素材网站,网站用户推广目录 一、HTTP协议的位置
二、HTTP协议的特点应用场景
三、HTTP协议的格式的查看
Fiddler下载与使用
编辑 如何查看HTTP请求消息
编辑 如何查看HTTP响应数据包
如何默认开启HTTPS的解析功能
四、HTTP的请求数据包的格式含义
第一部分#xff1a;请求行…目录 一、HTTP协议的位置
二、HTTP协议的特点应用场景
三、HTTP协议的格式的查看
Fiddler下载与使用
编辑 如何查看HTTP请求消息
编辑 如何查看HTTP响应数据包
如何默认开启HTTPS的解析功能
四、HTTP的请求数据包的格式含义
第一部分请求行首行 HTTP方法 URL HTTP协议版本 第二部分请求头(header)
第三部分空行(请求头结束的标志) 第四部分请求正文可选的
五、HTTP响应数据包格式
第一部分状态行
①HTTP版本号
②HTTP状态码
③对于状态码的描述
第二部分响应头(header)
第三部分空行
第四部分响应正文(body)
一、HTTP协议的位置
在这一篇文章当中我们提到了TCP-IP五层协议的构成。
初识网络IP、端口、网络协议、TCP-IP五层模型_革凡成圣211的博客-CSDN博客TCP/IP五层协议详解https://blog.csdn.net/weixin_56738054/article/details/128666970?spm1001.2014.3001.5502其中HTTP协议是位于应用层的协议也就是直接和用户打交道的。 HTTP/1和HTTP/2版本的传输层是基于TCP协议的。 HTTP/3版本的传输层是基于UDP协议的 但是最新版本的HTTP/3版本比较少使用。 二、HTTP协议的特点应用场景 HTTP协议的可扩展性是非常强的可以根据实际的需要让程序员传输各种各样的自定义的数据信息下面会具体介绍怎样传输的。 关于应用场景可以说非常地广泛。 只要打开任何一个网站都会使用到HTTP协议。 打开任意一个手机的APP都大概率使用到HTTP协议。 三、HTTP协议的格式的查看
在应用层数据的传输是以文本为单位进行传输的也就意味着HTTP也是以文本为格式传输的。
Fiddler下载与使用
下面需要使用一个抓包工具专门抓HTTP或者HTTPS数据包的工具——Fiddler来监测加载。 下载地址为Fiddler官网 Fiddler | Web Debugging Proxy and Troubleshooting Solutions (telerik.com) 下载完成之后点击运行Fiddler可以看到左侧是一些具体的HTTP请求。 然后点击某一个HTTP请求之后可以看到发送的请求响应
其中上方的代表的是请求下方代表的是响应。 如何查看HTTP请求消息
下面重点关注请求上面这一行的内容 这一行的内容就显示了HTTP的请求格式。 如果点击了Raw那么看到的就是HTTP请求数据的本体。 为了方便可以在记事本当中打开 如何查看HTTP响应数据包 同理在下面的响应这一栏当中也点击Raw就可以看到HTTP响应数据包。 为了方便查看可以在记事本当中打开 但是却发现了下面出现了乱码。
这个乱码其实是压缩之后的结果。一个服务器最贵的硬件资源其实是网络带宽。
为了提高传输的效率于是会经常被服务器给压缩返回了...这些就是压缩的结果 如何默认开启HTTPS的解析功能
点击tools-Options-HTTTPS
然后全部勾选。如果提示需要下载一个证书那么就下载。 如果此时在响应这一栏看到了乱码 那么可以点击上面的那一行--Click to decode解码就可以看到解码之后的数据 四、HTTP的请求数据包的格式含义
HTTP的请求分为4个部分
第一部分请求行首行 首行又分为3个部分 HTTP方法 有get/post两种显示的方式大致描述了这个请求的目的是什么。后面会详细介绍这两种方法的区别。 URL 描述了这个资源请求的地址。 HTTP协议版本 指的是当前HTTP的版本号是什么。上图的版本号就是1.1版本。也有可能是1.1/2.0等等... 第二部分请求头(header) 请求头当中包含了很多行的数据每一行都是一个键值对、键和值之间使用空格来隔开。 这里的键值对的数目是不固定的后续会介绍几个常见的键值对。 第三部分空行(请求头结束的标志) 第三部分和第四部分之间空了一行。 第四部分请求正文可选的 这一部分是可有可无的。如果有的话可以看到请求的正文部分。 这一部分的内容很有可能是服务器返回的json格式的数据。 总览一下HTTP的样式~ 五、HTTP响应数据包格式
第一部分状态行 状态行包含了三个部分
①HTTP版本号 如上图HTTP版本号就是HTTP/1.1。 ②HTTP状态码
如上图状态码就是200。
描述了这一个响应成功与否。
通过一个状态码可以大致了解到 如果响应成功那么成功的原因是什么。 如果失败的话失败的原因是什么。 ③对于状态码的描述
如上图状态码显示为OK。这是通过一个/一组简单的单词来描述当前的状态码的含义。 第二部分响应头(header) 响应头也是由多个键值对组成的。每一个键值对各占一行每一个键值对之间使用空格来分割。 第三部分空行
空行就是响应头的结束标志也就是响应头和正文之间空出来多一行。 第四部分响应正文(body) 正文部分其实响应的就是一些html的页面或者js/css文件等等。或者一些从后端返回的json数据。 这些数据可以不存在。