nginx的HTTP核心模块引入了大量的变量,可以在指定范围内使用这些变量的值,可以分为三类:一是客户请求头中发送的变量、二是服务器端响应头中的变量,第三是nginx产生的各种变量,我们可以使用$变量名的形式来引用这些变量。

一、请求头中的变量

规律:都是以$http_开头的变量

 

$http_host    请求的主机名

$http_user_agent 请求头中的userAgent信息,一般是客户端浏览器信息

$http_referer 服务器请求的来源地址(如我们的网站通过百度的搜索引擎而来,通过百度的某个搜索页点击进来,则这个值就是百度的那个链接页地址)

$http_via 获取客户端可能使用的代理

$http_x_forworded_for 客户端的真实IP

$http_cookie 客户端cookie信息

$http_…… http请求头中其他的信息

二、响应头中的变量

都是以sent_开头的变量

 

$sent_http_content_type 响应头中的content-type值,响应内容的类型

$sent_http_content_length 响应头中的content-length,响应内容的大小

$sent_http_last_modified 修改请求资源的修改日期

$sent_http_connection 定义连接是否持续有效或已关闭

$sent_http_keep_alive 定义持续连接的时间长度

$sent_http_…… 响应头中的其他信息

三、nginx产生的变量

$arg_XXX   获取的查询字符串(GET参数),XXX为参数名称

$args         字符串查询参数

$binary_remote_addr 客户端IP地址(以二进制显示)

$body_sent_bytes 响应内容的发送的字节数

$content_type 请求头中的内容类型

$content_length 请求资源的内容大小

$cookie_XXX 请求的cookie数据,XXX为cookie参数

$document_root web根目录(获取root的定义的值)

$document_uri 请求的URI

$host 请求的主机名

$hostname                              请求的系统名称

$is_args                                      是否定义了参数,如果定义了args变量,是值为?,如果未定义,则为空

$limit_rate                                  这个变量允许限制连接的速率

$nginx_version                          nginx的版本号

$pid                                            nginx的进程号

$query_string                       查询字符串

$remote_addr                     访问者IP

$remote_port                     客户端socket端口

$remote_user                    访问者认证信息

$realpath_root                 返回请求的真实文件路径

$request_body      请求主体内容

$request_body_file 请求资源的文件路径

$request_filename 请求的文件的全文件名

$request_method     请求方式

$request_uri     请求uri

$server_addr 服务器IP

$server_name  服务器名称(如域名)

$server_port   服务器服务端口

$server_protocol 协议及版本号

$uri   请求URI(除请求的域名外的部分,等同于$document_uri)

【转】nginx的模块变量(HTTP核心模块变量)的更多相关文章

  1. C# Winform开发框架模块图(平台核心模块+示例模块)

    企业版V4.0 - 模块图   企业版V4.0 - 项目解决方案   Client/Server构架,有两个解决方案:     客户端解决方案说明:     服务端解决方案说明: C/S系统开发框架- ...

  2. 【Nginx】核心模块ngx_events_module

    核心模块ngx_events_module是一个专门用于管理事件模块的模块. 它的实现非常easy.以下是该模块的定义: ngx_module_t ngx_events_module = { NGX_ ...

  3. Zepto核心模块源代码分析

    一.Zepto核心模块架构 Zepto核心模块架构图 该图展示了Zepto核心模块架构代码的组织方式.主要分为私有变量.函数和暴露给用户的所有api. Zepto核心模块架构代码 该图展示了Zepto ...

  4. 嵌入式系统图形库GUI核心模块介绍

    本文转载自:http://blog.csdn.net/xteda/article/details/6575278 (作者 冯青华 信庭嵌入式工作室(www.xteda.com)- CEO Blog:h ...

  5. Material使用11 核心模块和共享模块、 如何使用@angular/material

    1 创建项目 1.1 版本说明 1.2 创建模块 1.2.1 核心模块 该模块只加载一次,主要存放一些核心的组件及服务 ng g m core 1.2.1.1 创建一些核心组件 页眉组件:header ...

  6. Linux学习-额外(单一)核心模块编译

    编译前注意事项 由于我们的核心原本就有提供很多的核心工具给硬件开发商来使用, 而硬件开发商也需要针对核心 所提供的功能来设计他们的驱动程序模块,因此, 我们如果想要自行使用硬件开发商所提供的模块 来进 ...

  7. Nginx模块参考手册:HTTP核心模块

    FROM: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=17238776&id=2982697 这些模块默认会全部编 ...

  8. Nginx HTTP 核心模块

    原文链接:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=17238776&id=2982697aio 语法:aio [ ...

  9. 高性能Web服务器Nginx的配置与部署研究(7)核心模块之主模块的非测试常用指令

    1. error_log 含义:指定存储错误日志的文件 语法:error_log <file> [debug|info|notice|warn|error|crit] 缺省:${prefi ...

随机推荐

  1. 四种launchMode

    注意:如果在一个singleTop或者singleInstance的ActivityA中通过startActivityForResult()方法来启动另外一个ActivityB,那么系统将直接返回Ac ...

  2. 又是毕业季1&&又是毕业季2

    又是毕业季2 n/k; 又是毕业季2 一开始很容易想到枚举n个数取k个的所有组合,然后分别用辗转相除法求最大公约数,但是复杂度明显不符合要求,于是必须换一种思路. 我们想到,k个数的公约数含义就是这k ...

  3. python list和元祖

    一,元祖 在python中元祖是只能查询和读取的一组数据,在()内的赋值就是元祖,只有查询和读取的功能: 1.len()方法:查询元祖有多少个元素 s = (') print(len(s)) 结果: ...

  4. java中初始化方法

    本文主要是讲从<java编程思想>中看到的东西,是第七章复用类的开头内容,主要是类初始化的几种方法的位置,主要包括 1.在定义对象的地方.这意味着他们总是在构造器被调用前被初始化. 2.在 ...

  5. DIDAO.Common --- 项目中的常用类及其中函数

    常用函数: CommonHelper.cs using System; using System.Collections.Generic; using System.IO; using System. ...

  6. 机器学习:评价分类结果(Precision - Recall 的平衡、P - R 曲线)

    一.Precision - Recall 的平衡 1)基础理论 调整阈值的大小,可以调节精准率和召回率的比重: 阈值:threshold,分类边界值,score > threshold 时分类为 ...

  7. AngularJS:输入验证

    ylbtech-AngularJS:输入验证 1.返回顶部 1. AngularJS 输入验证 AngularJS 表单和控件可以验证输入的数据. 输入验证 在前面的几个章节中,你已经学到关于 Ang ...

  8. 怎么设置myeclipse的格式化键格式每行的字符长度

    MyEclipse 格式化代码调整每行长度默认每行是80~对于咱初学者,非敏捷型编码者来说~有点短以至于Ctrl+Shift+F 格式化代码后总把一行拆成两行或者更多有点不适应 所以按个人爱好 更改他 ...

  9. git学习4 常用命令

    1:更新: 更新后,更新只在Workspace中,没有到暂存区.git status可以查看当前状态. git add <file>  可以放到待提交区.      git  checko ...

  10. 反射+属性标签 通用Excel导入导

    在做通用导入导出的时候,最关键的应该就是实体导出导入的顺序了,但是编译器在编译的时候又无法自定义属性编译的顺序,所以需要一个自定义的特性标签来指定实体类导出的顺序,然后通过自定义的比较器将属性排序 因 ...