当前位置: 首页 > news >正文

老码农教你 Solon Web Context-Path 的两种配置方式

context-path 概念早期可能是出现在 servelt 容器。比如 tomcat 在部署应用(或模块)时,每个应用(或模块)会配置一个 context-path,起到隔离和避免路径冲突的效果。

对 solon 而言,相当于一个 webapp 的“路径前缀”(与友商的配置略有不同)。

1、所谓路径前缀

比如果有应用地址(未配置 context-path 时):http://xxx/test/get

当配置了context-path /demo/ 后就需要用 http://xxx/demo/test/get 发起请求(在域名之后,多了段前缀)。

2、关于 context-path 的两种配置(基于 pathNew 的变化实现)

配置 差别 差别说明
server.contextPath: "/test-service/" 原路径仍能访问(v1.11.2 后支持)
server.contextPath: "!/test-service/" ! 开头 强制,原路径不可访问(v2.6.3 后支持)

当有 context-path 配置时

接口 说明
ctx.path() 是原始请求路径
ctx.pathNew() 是去掉 context-path 后的请求路径

3、两种配置效果示例说明

比如有原始地址:http://xxx/test,使用不同配置的效果:

请求地址 "/test-service/" "!/test-service/"
http://xxx/test (原路径)可访问 (原路径)404 错误
http://xxx/test-service/test 可访问 可访问

提醒:一般情况使用,添加 ! (表示强制)才是大多数人的预期效果。

4、为什么要有两种配置?

在集群环境(比如微服务)做内部的 http rpc (或者 http call)请求时。如果 server 加了 context-path(或者变更),client 就必须要修改请求路径。没办法作到一套代码到处可用。

所以有了 “原路径仍能访问” 的配置策略。可以实现外部如何变化,内部请求都可不变!

5、为什么默认不是“强制”的策略?

在生产部署时,当遇见有 context-path 需求的场景。一般会有 nginx 或 tomcat 等,本身就有 path 前缀配置,相当于已经起到了过滤的效果,应用只需要支持有前缀的需求。

所以默认不采用“强制”方式,可以同时兼容两种应用需求。(但有些场景下,确实需要强制)

http://www.sczhlp.com/news/40792/

相关文章:

  • 重庆网站建设要点批量关键词排名查询工具
  • 自己做网站实时监控googleseo排名公司
  • 网站建设素材使用应该注意什么百度推广关键词排名在哪看
  • asp网站安全如何做seo百度网站排名研究中心关键词首页优化
  • 网站的footer怎么做seo搜狗排名点击
  • 做静态网站选用什么服务器简阳seo排名优化课程
  • 深圳网站建设响应式网站b2b网站有哪些平台
  • 微小旅行社能否做网站2022当下社会热点话题
  • 网站建设产品图片尺寸要求百度推广好不好做
  • wordpress注册logo东莞市网络seo推广企业
  • 陕西做网站电话常用的网络营销策略有哪些
  • 变装 wordpress优化网站关键词优化
  • 碧海蓝天网站百度百度网址大全
  • 北京网站设计学校渠道推广费用咨询
  • 秦皇岛做网站外包成人电脑基础培训班
  • wordpress web托管长春网站优化流程
  • 餐厅网站开发背景企业网络规划与设计
  • 百度做自己的网站seo网络推广教程
  • 政协网站建设方案哪里有免费的网站推广
  • 网站制作用什么外链工具xg
  • 网页设计一般多少钱企业网站关键词优化
  • 地下城钓鱼网站怎么做免费发布信息网
  • 小说网站seo排名怎么做优化二十条
  • Day5类型转换
  • vue节流功能,防止表单频繁重复提交,方法频繁重复调用等
  • wordpress ftp 主机名关键字优化用什么系统
  • 日本真人做a免费视频网站灰色seo关键词排名
  • 做网站都可以做什么建个网站费用大概多少钱一年
  • 大连甘井子区优化大师是什么软件
  • VBA 批量居重设 Excel 中的图片