
🦆 个人主页:深邃-
目录
请求方法
HTTP请求方法定义了客户端对服务器资源的操作类型,不同方法有不同的语义和使用场景。
常见请求方式
HTTP标准定义了多种请求方法,按功能可分为:
| 方法 | 中文名称 | 主要功能 | 是否有请求体 | 安全性 | 幂等性 |
|---|---|---|---|---|---|
| GET | 获取 | 请求指定资源 | 否 | 安全 | 是 |
| POST | 提交 | 向服务器提交数据 | 是 | 不安全 | 否 |
| PUT | 上传 | 上传指定资源(全量更新) | 是 | 不安全 | 是 |
| DELETE | 删除 | 删除指定资源 | 否 | 不安全 | 是 |
| HEAD | 头部 | 类似GET,但仅返回响应头部 | 否 | 安全 | 是 |
| OPTIONS | 选项 | 请求服务器支持的方法 | 否 | 安全 | 是 |
| CONNECT | 建立隧道 | 建立到目标服务器的网络隧道(通常用于HTTPS代理) | 否 | 不安全 | 否 |
| TRACE | 追踪 | 回显收到的请求,用于诊断和调试 | 否 | 不安全 | 是 |
注:这里的安全性仅从HTTP语义和规范的角度解释
GET方法介绍
最常用的方法,用于请求服务器返回指定资源:
css
GET /products?id=100 HTTP/1.1
Host: www.example.com
Accept: text/html
特点:
1、数据通过URL的查询参数传递 (?id=100)
2、传输数据量有限制(取决于浏览器和服务器)
3、数据会显示在URL中,不适合传输敏感信息
POST方法介绍
用于向服务器提交数据,通常会导致服务器状态变化:
css
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
username=test&password=123
特点:
1、数据通过请求体 传递,不在URL中显示
2、可传输大量数据 (无固定限制)
3、常用于表单提交、文件上传等场景
GET 与 POST 参数差异详解
GET 传的参数,是用来「告诉服务器我要请求、查询哪份数据」的筛选条件;
POST 传的参数,是「我主动提交给服务器、要发给你存起来 / 修改掉」的业务数据。
简单说:
- GET:带着条件去拿数据
- POST:带着内容去交数据
- 传参位置不同:GET 把提交的数据直接拼接在 URL 地址后面,地址栏可见;POST 把数据放在请求体里传输,地址栏看不到。
- 限制与能力不同:GET 受浏览器 URL 长度限制,传输数据量小,只能传简单文本;POST 没有长度限制,可以传输大量数据,还能上传文件。
- 安全与使用场景不同:GET 参数明文暴露在地址栏、历史记录和日志中,安全性低,适合做查询、搜索这类只读请求;POST 参数相对隐蔽,安全性更好,适合登录、注册、提交表单、修改和新增数据这类写操作请求。
- 缓存特性:GET 请求默认会被浏览器缓存,访问记录会保留历史;POST 默认不缓存,也不会留存访问历史。
- 操作语义:GET 是幂等的,多次请求结果一样、不会改后台数据;POST 多次提交可能重复产生数据,不是幂等请求。
响应状态码
HTTP状态码详解
HTTP状态码 是服务器对客户端请求的处理结果的数字标识,通过状态码可以快速判断请求的处理情况。

状态码分类
HTTP状态码 由三位数字组成,首位数字定义了响应的类别,共分为五大类:
1、 1xx(信息性状态码)
表示服务器已接收请求,正在处理
示例:100 Continue(继续发送请求体)
2、2xx(成功状态码)
表示请求已被服务器成功接收、理解并处理
示例:200 OK(请求成功)
3、 3xx(重定向状态码)
表示需要客户端进一步操作才能完成请求
示例:301 Moved Permanently(资源永久迁移)
4、4xx(客户端错误状态码)
表示请求存在错误,服务器无法处理
示例:404 Not Found(资源未找到)
5、5xx(服务器错误状态码)
表示服务器在处理请求时发生了内部错误
示例:500 Internal Server Error(服务器内部错误)
常见状态码详解
| 状态码 | 状态描述 | 含义与应用场景 |
|---|---|---|
| 200 | OK | 请求成功,服务器返回请求的资源,是最常见的成功状态码 |
| 201 | Created | 请求已成功处理并创建了新资源(常用于POST请求创建资源) |
| 301 | Moved Permanently | 资源已永久移动到新位置,客户端应使用新URL进行后续请求 |
| 302 | Found | 资源临时移动到新位置,客户端应继续使用原URL |
| 304 | Not Modified | 资源未修改,客户端可使用本地缓存的版本(用于缓存机制) |
| 400 | Bad Request | 请求语法错误或参数无效,服务器无法理解 |
| 401 | Unauthorized | 请求需要身份验证,客户端未提供或验证失败 |
| 403 | Forbidden | 服务器拒绝请求,客户端没有访问权限 |
| 404 | Not Found | 请求的资源不存在或已被移除 |
| 405 | Method Not Allowed | 请求使用的方法不被服务器支持(如用POST访问仅支持GET的接口) |
| 500 | Internal Server Error | 服务器内部发生错误,无法完成请求处理 |
| 502 | Bad Gateway | 网关或代理服务器从上游服务器收到无效响应 |
| 503 | Service Unavailable | 服务器暂时无法处理请求(通常是维护中) |
头部字段
HTTP头部字段是请求和响应消息的重要组成部分,用于传递额外的元数据信息。本页面重点介绍四个在安全测试中常用的头部字段
User-Agent
作用:向服务器标识发送请求的客户端软件 (浏览器、爬虫等)及操作系统信息
类型:请求头部
格式:
User-Agent: [软件名称]/[版本号] ([系统信息]) [其他信息]

Cookie
作用:在客户端存储少量数据,用于维持会话状态、跟踪用户 等
类型:请求头部(客户端发送)和响应头部(Set-Cookie,服务器设置)
格式:
Cookie: 键1=值1; 键2=值2; ...
Set-Cookie: 键=值; 属性1=值1; 属性2=值2

Referer
作用:指示当前请求是从哪个URL跳转而来 ,用于跟踪请求来源
类型:请求头部
格式:
Referer: 来源页面的完整URL或路径

X-Forwarded-For
作用:记录客户端的真实IP地址 ,当请求经过代理服务器时使用
类型:请求头部
格式:
X-Forwarded-For: 客户端IP, 代理1IP, 代理2IP

封IP原理
-
封IP封的是什么
平台封禁只封公网出口IP,不封电脑/手机本地的内网IP(192.168这类)。
-
家用宽带现状
小区宽带是CGNAT共享公网IP ,整栋楼、整片小区几百人共用一个公网IP;一旦被封,所有人一起躺枪,且宽带公网IP长期不换,解封很难。
-
手机流量IP原理
手机流量也一样是多人共用一个大公网IP ,并不是一人一个;只是流量IP在大IP池里轮换极快,开关飞行模式、换基站就换新出口IP,所以不容易被长期封禁、也很难大面积连带。
-
热点的IP逻辑
手机开热点默认是NAT模式 ,不是桥接;所有连接热点的设备,共用手机当前的流量公网IP,一台违规全部受影响;只要手机切换飞行模式换IP,所有热点设备同步换新IP。
-
核心本质
全世界上网靠多层NAT套娃省IPv4地址,不管宽带还是流量,都是内网IP→运营商内层IP→最终共用一个外层公网IP;封禁只看最外层公网IP,区别只在于IP能不能快速更换。
DNS协议详解
DNS协议介绍
DNS (Domain Name System,域名系统 )是互联网的一项核心协议,它负责将人类可读的域名如www.xxx.com 转换为计算机可识别的 IP 地址(如 192.0.2.1)。可以把它理解为互联网的 "电话簿"。

常见记录类型
在DNS协议中,常见的记录类型如下
A:IPv4 地址记录
AAAA:IPv6 地址记录
CNAME:域名别名
MX:邮件交换记录
NS:域名服务器记录
TXT:文本记录
PTR:反向解析记录
DNS常见用处
1、当我们打开浏览器,访问一个网址时候,输入域名会自动查询对应的IP地址

2、使用系统的ping命令也会调用DNS协议

其实只要涉及到域名的地方,电脑都会自动的查询对应的DNS地址。
电脑解析域名固定顺序:先本地 hosts 查表 → 有就直接用;没有再去外网 DNS 服务器查 IP。
