buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

2021年9月6日 #

IDEA中用jetty启动web项目时,url路径包含双斜杠会返回404 (url里多了一个斜杠/, jetty返回404,tomcat正常)

摘要: jetty严格遵守了RFC3986规范。也就是说,jetty不允许url里带两个斜杠,它会认为带有//的url是模棱两可的路径(ambiguous empty segment)。怎么讲?假如controller的action方法映射的路径有xxx/{var}/someurl,web静态目录里也有xxx/somedir/somefile,那么,当你访问url包含xxx//x的时候,jetty无法做出选择。所以,jetty直接来了个痛快的,不支持这种形式的url,以免造成歧义。 tomcat呢,tomcat “违背规范” ,tomcat直接把请求路径里包含的多个连续的斜杠替换成单个的斜杠,比如 xxx//someurl 会被替换为 xxx/someurl。况且实际在我们的web系统中,也难免会出现一些带有双斜杠的url。tomcat兼容了这种情况还是比较得民心的。 阅读全文

posted @ 2021-09-06 22:00 buguge 阅读(1369) 评论(0) 推荐(1) 编辑