HTTP~

一、HTTP是什么

HTTP 是 超文本传输协议的缩写

HTTP1.1是互联网主流版本

HTTP在传输层主要依赖的是TCP协议(从HTTP3.0开始,切换为UDP)

二、HTTP应用场景

  1. web开发:网页前端和服务器后端之间的通信
  2. 移动端app:和服务器后端之间的通信
  3. 分布式系统的服务器之间调用
    HTTP是一个典型的一问一答模型,客户端发一个请求,服务器返回一个响应

三、抓包工具

**代理:**通过软件,读取网卡内容,从而让你看到当前的请求和响应的数据明细,而抓包工具就相当于代理

常见的抓包工具有:Fiddler,Charles,Wireshark等等,这里主要介绍Fiddler

安装教程:

1.浏览器搜索Fiddler

2.找到FIDDLER YOOLS

选择第二个 Fiddler Classic

3.找到下载位置

选择Try For Free

4.输入邮箱点击下载

第一次使用需要简单的设置一下:

选择Options

点击HTTPS,全部勾选
此时注意:会有提示:是否要信任根证书?
一定要选Yes

经过上述设置之后,就可以进行抓包了

颜色是为了表示响应的数据格式,蓝色表示HTML

四、HTTP请求和响应

1. 一个标准的 HTTP 请求由以下四个主要部分组成:

请求行

请求头

空行

请求主体

首先,抓一个包

请求行包括 Method、URL、Version(这三者之间有空格),比如

GET https://www.sogou.com/ HTTP/1.1

请求头是键值对形式的元数据,用于向服务器提供关于客户端、请求本身或客户端期望的响应的额外信息,每一行是一个键值对,键和值之间用:空格分隔,比如

Host: www.sogou.com

Connection: keep-alive

Upgrade-Insecure-Requests: 1

空行的存在是为了说明header部分结束接下来就是正文(正文可省略)

2.一个标准的 HTTP 响应由以下四个主要部分组成:

状态行

响应头

空行

响应主体

和请求类似,不再说明

五、认识URL

URL是统一资源定位符,也就是网址,标识一个网络上的资源位置

一个完整的 URL 可以包含多个部分,最常见的结构如下:

Protocol://Host (Domain):Port/Path?Query#Fragment

URI也是常见的,它是唯一资源标识符,URL是URI的一种实现方式

六、query string(查询字符串)重点

查询字符串的结构和格式

查询字符串出现在 URL 的路径后面,由以下三个关键元素构成:

分隔符 (?): 查询字符串永远以一个问号 (?) 开始,它将路径和查询参数分隔开。

键值对 (key=value): 实际的数据以键值对的形式存在。

连接符 (&): 如果有多个键值对,它们之间使用一个与号 (&) 连接

七、URL encode

对于query string来说,有时候需要进行encode转码

URL中包含很多特殊符号,都是有特定含义的

要转义的内容,每个字节拿出来,使用十六进制表示,每个字节前加上%

关于具体的编码,可以使用工具

链接: 编码工具

八、认识方法

五种最常用的 HTTP 方法:

  1. GET(最最最常用)
    获取 请求获取指定资源的数据或表示形式。GET 请求只应用于检索数据,不应改变服务器状态
  2. POST
    提交/创建用于将数据提交给指定资源(通常是集合),创建新资源,或执行一个有副作用的动作
  3. PUT
    完全替换/更新用请求中携带的有效载荷完全替换目标资源的所有当前表示。如果资源不存在,通常会创建它
  4. DELETE
    删除 请求删除指定的资源
  5. PATCH
    部分更新对资源进行部分修改。它只提交需要修改的字段,而不是整个资源

本期内容到此为止,喜欢的话请点个赞,谢谢观看!!!

相关推荐
QZ166560951599 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
网络·人工智能·安全·网络安全·政务
叼烟扛炮9 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
叼烟扛炮9 小时前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
星恒随风10 小时前
Linux网络编程:彻底理解IO多路复用select!从fd_set位图、读写就绪到手写TCP多客户端字典服务器
linux·服务器·网络
xyzzklk12 小时前
在Open-WebUI中提升向量化速度
网络·人工智能·爬虫·ai·语言模型·自然语言处理·安卓
沫璃染墨15 小时前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵17 小时前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪00117 小时前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
anew___1 天前
《从零手写操作系统 (63):安全与加固——从内核保护到沙箱隔离》
网络·安全
Lzg_na1 天前
VXLAN:背景、机制、报文字段与主机转发流程
网络