ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 说明 匹配位置之所以写在前面,是因为后续的很多规则的配置都需要理解这一节内容,在前面的简介中列出了我们可以匹配的位置,但是不够形象和具体,下面就具体的说明 **对应普通匹配规则中的key** ![](https://img.kancloud.cn/ac/40/ac400c5ad851a4f9ca2694e8a75a2d46_477x346.png) **对应高级规则,规则组配置中的第一个参数** ![](https://img.kancloud.cn/d5/7c/d57cada30def2066f4ca9e5773b8ebb5_456x355.png) ## 概要说明 ![](https://img.kancloud.cn/31/5d/315d97dfe2a3d91fe1db5e8deb6d6aba_1259x562.png) 基本上一个`request` 请求就包含这些信息,这里在对比前面的参数进行较为详细的解释 * scheme 请求协议如 `HTTP 1.0` `HTTP 1.1` `HTTP 2.0`... * uri 可以理解为 `path` 路径 * remoteIp 发起请求的`ip`地址,直连IP地址 * ip 用户真实`ip`地址,当有CDN等特殊情况时,用户IP放在`header`头中(`X-real-IP` | `X-Forwarded-For`),通过 ngx的realip模块或`openstar`自带的纯`lua`实现的 `realIpFrom_Mod`模块获取的用户真实IP * serverIp 当时负责反向代理的服务器IP * http_host 请求头中的 `HOST` * hostname 真正解析的 `host` ,当一个没有配置反向代理解析的域名到了服务器上,其请求的`HOST`可能是`www.nginx.org`,但是实际工作时,却会解析到对应端口的 `default` 域名上,那么其真实的域名就是该`server`节点的`server_name` * method 请求方法如 `GET` `POST` `HEAD`... * referer # 请求的 referer 来源地址,上图的来源地址是`http://nginx.org/` * useragent # 请求的 useragent 请求的浏览器信息 * cookie # 请求的 cookie 请求时携带的用户会话`cookie`信息 * query_string `GET`请求参数的完整字符串,包括了请求的参数名和参数的值,也就是图片中`?`后面的内容 * request_uri # 完整的 请求地址 (uri+query_string) 简单的理解就是 `uri` + `query_string` 的拼接(图片中蓝色线加上黄色线的内容) * http_content_type # 请求头 类型字段 请求头的类型如:`text/plain` `multipart/form-data ...` `application/x-www-form-urlencoded` * headers `table`类型,是请求头的完整信息(包括 `cookie`,`referer`,`useragent`等自定义头),一个 `KEY - VALUE` 表 * args `table` 类型,是GET请求参数的完整信息,一个`KEY - VALUE` 表 * args_data args表所有`VALUE`的连接 * posts `table`类型,`POST`方法时,`http_content_type` 为 `x-www-form-urlencoded`,一个`KEY - VALUE`表 * posts_data # posts 该table中所有 value 的连接字符串,连接符 , posts表所有`VALUE`的连接(图片中`post_data`为`openstar,3e45bf06417abbsdf06c5dd`) * posts_all `POST`方法时,完整的`body`内容(图片中`posts_all`为`username=openstar&passwd=3e45bf06417abbsdf06c5dd`) * post_form `table`类型,`POST`方法时,且`http_content_type`为`multipart/form-data...`时的 `KEY - VALUE` 表 POST表单如下 ``` <form action="/form/" method="post" enctype="multipart/form-data"> <table> <tr> <td><label for="txtname">账号:</label></td> <td><input type="text" id="txtname" name="login_username" /></td> </tr> <tr> <td><label for="txtpswd">密码:</label></td> <td><input type="password" id="txtpswd" name="login_pswd" /></td> </tr> <tr> <td colspan=2> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <input type="submit" name="submit" value="Submit" /> </td> </tr> </table> </form> ``` 上传数据如下: ![](https://img.kancloud.cn/2e/e6/2ee649f414f3be2a52f730b5ebee6af8_918x647.png) 对应的 `KEY - VALUE ` 表如下: ``` [ ["login_username",null,null,"openstar"], ["login_pswd",null,null,"passpasshaha"], ["file","快递.txt","text\/plain","file msg is this!!! h"], ["submit",null,null,"Submit"], [位置1,位置2,位置3,位置4] ] ``` 汇总 ![](https://img.kancloud.cn/cd/66/cd6670a6ce51736d82802b336225f67c_782x606.png)