nginx查看请求协议(Nginx之Http模块系列之autoindex模块的具体使用)
nginx查看请求协议
Nginx之Http模块系列之autoindex模块的具体使用brower 模块主要作用是根据http请求头中"User-Agent"的值,以浏览器的特征字符来判断新旧浏览器,并生成对应的变量,以供后续的请求处理逻辑来使用。
1. 简介ngx_http_browser_module 模块,通过判断"User-Agent"请求头的值,来生成变量,以供后续的请求逻辑处理。
2.内置变量列表$modern_browser
如果浏览器被标识为现代浏览器,则等于 modern_browser_value 指令设置的值;
$ancient_browser
如果浏览器被识别为古老浏览器,则等于 Ancient_browser_value 指令设置的值;
$msie
如果浏览器被识别为MSIE,不区分任何版本,则等于1;
现代浏览器的识别逻辑配置:
modern_browser_value "modern."; # modern_brower指定何种浏览器以及对应的版本被视为现代浏览器, 配置格式后续介绍 modern_browser msie 5.5; modern_browser gecko 1.0.0; modern_browser opera 9.0; modern_browser safari 413; modern_browser konqueror 3.0; 当浏览器被判断为现代浏览器时,modern_browser变量等于"modern.",即modern_browser_value配置的变量。 index index.${modern_browser}html index.html;
古老浏览器的兼容判断:
modern_browser msie 5.0; modern_browser gecko 0.9.1; modern_browser opera 8.0; modern_browser safari 413; modern_browser konqueror 3.0; modern_browser unlisted; # ancient_browser配置何种子串被识别为古老浏览器 ancient_browser Links Lynx netscape4; # 当浏览器被识别为古老浏览器,ancient_browser为1; 在此处可以做兼容处理或者给用户直接以提示,提示更新或者更换现代浏览器; if ($ancient_browser) { rewrite ^ /ancient.html; }
Syntax: ancient_browser string ...; Default: — Context: http, server, location
配置"User-Agent"头有何种子串时,被判断为古老浏览器,特殊子串"netscape4"等价于正则表达式: ^Mozilla/[1-4]
Syntax: ancient_browser_value string; Default: ancient_browser_value 1; Context: http, server, location
当识别为古老浏览器时,$ancient_browser变量的值,即默认为1;
Syntax: modern_browser browser version; modern_browser unlisted; Default: — Context: http, server, location
配置何种浏览器何种版本时,判定为现代浏览器。browser取值:msie, gecko, opera, safari, konqueror. 版本定义格式为X, X.X, X.X.X, 或者X.X.X.X. ,每个格式的最大值分别为: 4000, 4000.99, 4000.99.99, and 4000.99.99.99。
unlisted为特殊字符串,配置当浏览器都未出现在来modern_browser和ancient_browser匹配范围里,则被视为现代浏览器。否则被视为古老浏览器。如果请求头中未提供"User-Agent"头,则被视为未出现匹配列表中。
Syntax: modern_browser_value string; Default: modern_browser_value 1; Context: http, server, location
当识别为现代浏览器时,$modern_browser变量的值,默认为1;
4.总结ngx_http_browser_module 提供了浏览器兼容的判断机制,使我们在做新旧浏览器兼容处理时更为优雅与高效,同学们可以在实际需求中多加运用,将业务逻辑中的浏览器版本抽离出来,使得业务更像业务,无需考虑其他。
到此这篇关于Nginx之Http模块系列之autoindex模块的具体使用的文章就介绍到这了,更多相关Nginx autoindex模块内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- nginx更改html内容(apache与iis下让html格式的页面也同样具有shtml的动态解析)
- 宝塔面板phpMyAdmin错误教程(宝塔面板phpMyAdmin报错502 Bad Gateway nginx解决方法)
- nginx tomcat docker 负载均衡(Nginx+Tomcat实现负载均衡、动静分离的原理解析)
- nginx 反向代理的参数(Nginx反向代理及负载均衡如何实现基于linux)
- linuxnginx常用状态命令(nginx常用命令放入shell脚本详解)
- 宝塔nginx装哪个版本(宝塔面板nginx关闭状态,启动不了解决办法)
- nginx 正向和反向代理(Nginx反向代理入门实战指南)
- jenkins 设置gitlab(jenkins+gitlab+nginx部署前端应用实现)
- nginx网站集群(Nginx实现高可用集群构建Keepalived+Haproxy+Nginx)
- nginx配置root后的路径打不开(详解nginx.conf 中 root 目录设置问题)
- docker如何访问nginx(基于docker启动nginxssl配置)
- nginx怎么实现反向代理(nginx反向代理时如何保持长连接)
- 实战部署nginxdocker(基于Docker、Nginx和Jenkins实现前端自动化部署)
- nginx配置详解(Nginx进程管理和重载原理详解)
- nginx常见错误码(Nginx常见的错误配置举例)
- nginx安全配置提示(wdcp Linux面板nginx启用gzip后js未压缩解决方案)
- 经常发这三种 朋友圈 的人,要迅速屏蔽(经常发这三种朋友圈)
- 有种尴尬叫朋友圈忘屏蔽,大学生上演社死现场,父母亲自下场吐槽(有种尴尬叫朋友圈忘屏蔽)
- 朋友圈屏蔽你的人,可以直接看淡了(朋友圈屏蔽你的人)
- 金球奖只青睐那些会戴珠宝的女人(金球奖只青睐那些会戴珠宝的女人)
- 浙江省一个县,人口超40万,建县历史超1100年(浙江省一个县人口超40万)
- 五代十国南唐历代国君(五代十国南唐历代国君)
热门推荐
- laravel配置文件动态化(在Laravel 的 Blade 模版中实现定义变量)
- javascript基础语法和用法(JavaScript中new操作符的原理示例详解)
- vue身份验证(详解vue身份认证管理和租户管理)
- mongovue的使用
- 阿里云ecs服务器升级规则是(如何处理阿里云ECS windows服务器ping外网提示一般故障)
- 创建自己的Visual Studio工程模板
- idea项目中tomcat的配置(tomcat部署项目以及与IDEA集成的实现)
- dedecms中如何设置推荐文章(实现dedecms友情链接分栏目调用的方法图)
- dockerrun执行脚本(docker run和start的区别说明)
- mvc中validateinput属性失效
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9