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反向代理多个server(Nginx反向代理多个服务器的实现方法)
- nginx对静态文件开启缓存(nginx proxy_cache 缓存配置详解)
- nginx反向代理spring boot(Nginx+SpringBoot实现负载均衡的示例)
- nginxrewrite有什么功能(Nginx Rewrite使用场景及代码案例详解)
- nginx 进程关闭(详解nginx进程锁的实现)
- nginx跳转规则配置上下文(基于nginx实现上游服务器动态自动上下线无需reload的实现方法)
- nginx代理docker容器(Docker Nginx容器制作部署实现方法)
- nginxdocker界面(Docker部署nginx实现过程图文详解)
- 宝塔web服务器如何安装(宝塔面板开启Nginx/Apache防火墙四层防御的方法)
- nginx流媒体服务搭建与应用(用nginx+FastDFS一步步搭建文件管理系统)
- nginx配置使用环境变量(关于Nginx开启gzip的配置的问题)
- nginx代理转发域名(Nginx域名转发使用场景代码实例)
- nginx配置ip端口访问(Nginx配置80端口访问8080及项目名地址方法解析)
- nginx给需要转发的链接添加参数(Nginx 根据URL带的参数转发的实现)
- 服务器启动nginx服务的命令(Nginx服务器添加Systemd自定义服务过程解析)
- windows下nginx 命令(win10安装配置nginx的过程)
- 写信告诉我今天海是什么颜色(写信告诉我今天海是什么颜色回答)
- 英语难学吗(法语比英语难学吗)
- 今天要吃什么(今天要吃什么菜好)
- 网红直播可以赚很多钱吗(网红直播可以赚很多钱吗)
- 今天是什么日子(今天是什么日子有什么特殊意义吗)
- 这里输入关键词(怎么输入关键词搜索)
热门推荐
- php的流程控制语句(php基于 swoole 实现的异步处理任务功能示例)
- 云服务器搭建网站怎么选择合适(访问量过万的网站需要多大云服务器?)
- dedecms搜索功能怎么设置详细(删除dedecms 5.7里面烦人的织梦链的方法)
- C#中Nullable<T>
- 宝塔面板服务器设置(宝塔面板解决网站云服务器偶尔出现CPU100%的情况)
- .NET中低版本程序调用高版本DLL
- apache服务部署tomcat(Apache与Tomcat服务器整合的基本配置方法及概要说明)
- 用python实现atm银行系统(Python实现的银行系统模拟程序完整案例)
- php 常见的三种缓存(PHP进阶学习之垃圾回收机制详解)
- dedecms后台内链如何制作(DedeCMS系统TAG标签和分页伪静态设置教程的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9