web服务器的域名格式(超详解读web服务器知识)(5/21)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《web服务器的域名格式(超详解读web服务器知识)(5/21)》的相关信息,《web服务器的域名格式(超详解读web服务器知识)(5/21)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《web服务器的域名格式(超详解读web服务器知识)(5/21)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

在反向代理模式下,HTTPLoc资源位置下有一个cache开关,如果设置cache=on即打开Cache功能,则需要在当前HTTPLoc下设置cachefile缓存文件名。对于不同的请求地址,cachefile必须随着请求路径或参数的变化而变化,所以cachefile的取值设置需要采用HTTP变量,或者使用Script脚本来动态计算cachefile的取值。

HTTPLoc下一般都会部署Script脚本程序,包括rewrite、reply、try_files等,根据请求路径、请求参数、请求头、源地址等信息,决定当前资源位置是否需要重写、是否需要转移到其他地址处理等。

四. HTTP变量

4.1 HTTP变量的定义

HTTP变量是指在eJet Web服务器运行期间,能动态地访问HTTP请求、HTTP响应、HTTP全局管理等实例对象中的存储空间里的数据,或者访问HTTP配置文件的配置数据等等,针对这些存储空间的访问,而抽象出来的名称叫做HTTP变量。

变量的引用必须以开头,后跟变量名,如果变量名后面还有连续紧随的其他字符串,则需用{}来包括住变量名,其基本格式为:开头,后跟变量名,如果变量名后面还有连续紧随的其他字符串,则需用来包括住变量名,其基本格式为:变量名称, {变量名称},变量名称,{ 变量名称 },等等

4.2 HTTP变量的应用

使用HTTP变量的场景主要在JSon格式的配置文件中,给各个配置项目增加动态的可编程接口,就需要基于不同的HTTP请求的信息,做判断、比较、赋值、拷贝、串接等操作,这些都离不开变量,需要不同的变量名去访问不同HTTP请求中的不同信息内容,通过配置中使用变量:访问变量的值,进行条件判断、比较、匹配、加减乘除、赋值等。变量的使用样例可参考如下:

access log = { log2file = on; log file = /var/log/access.log; format = [ '$remote_addr', '-', '[$datetime[stamp]]', '"$request"', '"$request_header[host]"', '"$request_header[referer]"', '"$http_user_agent"', '$status', '$bytes_recv', '$bytes_sent' ];}script = { reply 302 https://ke.test.ejetsrv.com:8443$request_uri;}cache file = /opt/cache/${request_header[host]}/view/$1;params = { SCRIPT_FILENAME = $document_root$fastcgi_script_name; QUERY_STRING = $query_string; REQUEST_METHOD = $request_method; CONTENT_TYPE = $content_type; CONTENT_LENGTH = $content_length;}script = { if ($query[fid]) cache file = $real_path$query[fid]$req_file_ext; else if ($req_file_only) cache file = $real_path$req_file_only; else if ($query[0]) cache file = ${real_path}${query[0]}$req_file_ext; else cache file = ${real_path}index.html;}

4.3 HTTP变量的类型和使用规则

eJet系统中,共定义了四种HTTP变量类型,分别为:

匹配变量 – 基于资源位置HTTPLoc模式串匹配HTTP请求路径时匹配串,通过数字变量来访问,如1,1,2等;

局部变量 – 由script脚本在执行过程中用set指令或赋值符号“=”设置的变量;

配置变量 – 配置文件中Listen、Host、Location下定义的JSon Key变量,以系统会使用到的常量定义为主;

参数变量 – 变量名称由系统预先定义、但值内容是在HTTPMsg创建后被赋值的变量,参数变量的值是只读不可写。

变量的使用规则符合高级语言的约定,对于同名变量,取值时优先级顺序为: 匹配变量 >匹配变量>局部变量 > 配置变量 >配置变量>参数变量

HTTP变量的值类型是弱类型,根据赋值、运算的规则等上下文环境的变化,来确定被使用时变量是数字型、字符型等。除了匹配变量外,其他变量的名称必须是大小写字母和下划线_组合而成,其他字符出现在变量名里则该变量一定是非法无效变量。变量的定义很简单,前面加上美元符号$,后面使用变量名称,系统就会认为是HTTP变量。美元符号后的变量名称也可以通过大括号{}来跟跟其他字符串区隔。

如果变量的值内容包含多个,那么该变量是数组变量,数组变量是通过中括号[]和数字下标序号来访问数组的各个元素,如$query[1]访问是请求参数中的第一个参数的值。

匹配变量的名称为数字,以美元号冠头,如冠头,如1,$2…,其数字代表的是使用HTTPLoc定义的路径模式串,去匹配当前HTTP请求路径时,被匹配成功的多个子串的数字序号。匹配变量的寿命周期是HTTPMsg实例化成功即准确找到HTTPLoc资源位置实例后开始,到HTTP响应被成功地发送到客户端后,HTTPMsg消息被销毁时为止。

笨笨网美国主机,w ww.2 b p .n e t
提醒:《web服务器的域名格式(超详解读web服务器知识)(5/21)》最后刷新时间 2025-03-21 11:16:08,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《web服务器的域名格式(超详解读web服务器知识)(5/21)》该内容的真实性请自行鉴别。