URL大小写敏感之谜
2024-10-18 23:33:35
URL其实就是我们浏览器地址栏的地址,一般由三部分组成:
- 协议名称,一般就是http
- 域名,也就是主机名
- 资源路径
如链接:http://www.w3school.com.cn/js/js_obj_regexp.asp
http是协议部分,www.w3school.com.cn是域名部分,/js/js_obj_regexp.asp是资源路径部分。
- 对于服务器来说,前两个是大小写不敏感的,但是一般情况下,协议名称和域名部分如果有写成大写的浏览器会在请求的时候帮我们改成小写的,所以服务端后台不用考虑这一点。
- 实际上大小写是否敏感依赖于操作系统的文件系统。
- 至于资源路径,对于运行在window系统上的IIS服务器对资源路径大小写不敏感,但是对于运行在Unix和Linux系统上的服务器Apache对资源路径的大小写是敏感的,如果有大小写错误会返回404页面。
大小写不敏感示例:
如:http://www.w3school.com.cn/js/js_obj_Regexp.aSp 是可以访问到的,而且访问成功时地址栏的地址并没有把大写改成小写的。
如果想要解决Apache大小写敏感导致页面访问失败的问题,可以有以下解决方案:
- 当访问链接有大小写错误时返回301错误码并提示重定向到正确的链接,可以通过mod_spelling模块实现。
- 使用mod_rewrite规则强制进行大写向小写转换
另外,如果get请求后面有参数的话,key和value都是大小写敏感的。
最新文章
- node.js1
- 【BZOJ-3589】动态树 树链剖分 + 线段树 + 线段覆盖(特殊的技巧)
- BZOJ 1045 题解
- LoadRunner场景参数文件部分参数说明(我在某银行的整理)
- IIS7.5真变态,服务器时间格式导致不生成WebResource.axd
- IS_ERR、PTR_ERR、ERR_PTR
- Smarty模板引擎技术
- px em rem
- Gengxin讲STL系列——Set
- Android EditeText常用功能盘点
- foo bar的意思
- JAVA基础-多态
- APP请求服务器数据-HttpUrlConnection
- 对const的总结与思考
- 基于三层架构项目下的Ado【六】
- CentOS 7 设置静态IP
- [洛谷 P1972] HH的项链(SDOI2009)
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)
- TimeZone 时区 (JS .NET JSON MYSQL) + work week 闰年
- 非常简单的部署脚本(JavaWeb项目)和部署项目教程
热门文章
- Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Exception getting JDBC Driver: com.mysql.jdbc.Driver (mybatis逆向工程)
- Ubuntu 18.04添加新网卡
- cors(Cross-origin resource sharing)跨域资源共享
- ECSHOP和SHOPEX快递单号查询申通插件V8.6专版
- Yii 2.0.6 - 从入口到Action执行
- JS 控制文本框禁止输入例子
- 51定时器控制4各led,使用回调函数机制
- STL——vector和list
- P3388 【模板】割点
- 如何在windows“我的电脑”中添加快捷文件夹