抓包查看请求响应

核心提示作者:极客小俊 公众号同名: 一个把逻辑思维转变为代码的技术博主HTTP 基础知识学习Fiddler的时候,HTTP的知识点也是必不可少的, 所以这里必须要给大家简单的介绍一下HTTP的相关知识!http中文意思为超文本传输协议 英文

作者:极客小军

微信官方账号同名:把逻辑思维变成代码的技术博主。

HTTP的基础知识

在学习Fiddler的时候,HTTP的知识也是必不可少的,所以这里一定要给大家简单介绍一下HTTP的相关知识!

Http中文意思是超文本传输协议,英文意思是超文本传输协议。

它是万维网服务器用来向本地浏览器传输超文本的传输协议。

目的是确保客户端和服务器之间的通信。

什么是http请求和响应?

Http作为客户端请求和服务器响应之间的一个简单响应过程。

它指定了客户端向服务器发送什么样的消息以及它得到什么样的消息响应。

为了提供发布和接收html页面的方法,所有的www文件都必须遵循这个标准协议。

例如

例如,如果客户端向服务器提交一个http请求,服务器将向客户端返回响应信息。响应信息包括关于客户端请求的状态信息和客户端所需的内容信息。

画

http协议与web的本质

实际上,与服务器打交道的是浏览器。

向服务器发送http请求,然后服务器向客户端返回Http响应!

Http是浏览器和服务器之间通信的规范,即当用这个规范向服务器发出请求时,服务器会给客户端一个正确的响应,所以http有时可以理解为规范、规则和标准。

Http是属于应用层的协议,它基于TCP/IP协议,也就是说,http通信是在TCP/IP链路上进行的。

一般来说,http协议是基于TCP的应用层协议。它不关心数据传输的细节,也就是说,你不必关心它底层TCP的运行逻辑。其核心只是规定了客户端和服务器的数据传输格式。

最早的http是用来向客户端传输html文件内容的,默认端口是80。

发展

感兴趣的朋友可以自己了解一下iso网络的七层模型。

一般来说,http是指请求响应后,服务器立即关闭连接,释放资源,既保证了资源可以显示和可用,又吸收了TCP协议的可靠性优点,缺点是无法跟踪用户的操作。所以我们在后端开发的学习中会接触到一种叫做session和cookie技术的东西。

所以你也可以理解为http是基于请求和响应模式的,是一种无状态的应用层协议。

http请求和响应的基本原则

任何http请求只能分为两部分:请求消息和响应消息。

请求消息是客户端按照一定的格式生成一段文本,然后发送给我们的服务器。服务器收到这样的请求消息,会解析里面的内容,然后反馈,也就是响应。

响应消息是服务器根据请求消息反馈给客户端的文本信息。

http请求消息的基本结构

Http请求也称为请求消息。基本的http请求消息结构分为以下几点:

请求行:指的是请求的方法和协议,也就是说用来描述客户端的请求方法,比如post/get方法,请求的资源名称,HTTP协议的版本号!

几个请求头:这些也叫消息头,告诉服务器发送什么数据类型,编码类型,请求哪个主机,客户端浏览器的一些系统环境等。这些消息头中有很多头字段名和对应的值,它们的格式是name:value。

空白线

请求正文内容

抓住包,找出答案

那么我们在学习http知识的时候,可以直接用Fiddler抓取一个http请求和http响应,先看看是什么!

这样也会帮助一些新手理解http!

我们可以通过Fiddler抓取网络数据包来看看一个基本的http请求结构包含了哪些信息!

例如,GET方法的请求信息如下:

GET file/tupian/20220829/ name =张三HTTP/1.1 host:www . Baidu . com connection:keep-alive upgrade-unsecured-Requests:1 user-Agent:Mozilla/5.0 AppleWebKit/537.36 Chrome/100 . 0 . 4896 . 127 Safari/537.36 accept:text/html、application/xhtml+xml、application/XML;q=0.9,image/avif,image/webp,image/apng,**sec-ch-ua-platform: "Windows"version: 1.2.27Origin: chrome-extension://mhloojimgilafopcmlcikiidgbbnelipSec-Fetch-Site: cross-siteSec-Fetch-Mode: corsSec-Fetch-Dest: emptyAccept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9{"fp":"4c49c2fd79e1658546e4b8ad","tn":6}后file/tupian/20220829/userHm HTTP/1.1 host:API . code life . cc connection:keep-alive content-Length:48 sec-ch-ua:" Not A;品牌”;v="99 ","铬";v="100 ","谷歌Chrome ";v = " 100 " sec-ch-ua-mobile:0 user-Agent:Mozilla/5.0 apple WebKit/537.36 Chrome/100 . 0 . 4896 . 127 Safari/537.36 content-Type:application/JSON accept:application/JSON,text/plain,*/*sec-ch-ua-platform: "Windows "版本:1 . 2 . 27 origin:Chrome-extension://mhloojimgilafoppcmlcikiidgbnelipsec-Fetch-Siteq = 0.9 { " FP ":" 4c 49 C2 FD 79 e 1658546 E4 b 8 ad "," tn":6}

什么,你觉得这堆头骨很大吗?哈哈,别急,我们慢慢学吧!

让我们先来看一个请求图。

画

那我们就把上图中的各个部分一个一个拆开吧!

1.请求方法

我们常见的一些请求方法是POST/GET,当然还有其他的请求方法,如下表所示:

2.统一资源定位器

网址中文叫统一资源定位器,英文叫统一资源定位器。

我们网络中的每一个信息资源都有一个统一的、唯一的在线地址!

URL由四部分组成:协议、主机、域名、端口、路径文件和[附加资源]

URL的一般语法格式是:

协议://主机名[:端口] /路径/ [查询参数]

1.协议

有http,ftp,https等。...

2.主机名+域名

主机名+域名例如:www.xsphp.com

3.港口

端口是一个数字,端口是可选的。省略时,该方案是服务器配置的默认端口。

例如,80,8080,..

各种传输协议都有默认的端口号,比如http协议的默认端口号是80。

如果URL地址省略了端口,则使用默认端口号。

注意

有时出于安全或其他原因,可以在服务器配置上重新定义端口,即采用非标准端口号。此时,端口号不能从URL地址中省略。

4.路径文件

由零个或多个/符号分隔的字符串,通常用于表示主机上的目录或文件地址。

示例:/tpl/index.php

5.查询参数的附加资源

这一项也是PHP/JSP/ASP/ASP等动态网页的后端页面传递参数的可选方式。NET在URL中,如果是GET请求方法,可以有多个参数,参数之间用符号隔开,每个参数的名称和值用=符号隔开。

格式:参数=值参数2=值以此类推!

例如:id = 33 age = 25 name =张三

例如

常见的url地址如下:

file/tupian/20220829/p

 
友情链接
鄂ICP备19019357号-22