gpt4 book ai didi

ruby-on-rails - 什么是 Rack 中间件?

转载 作者:数据小太阳 更新时间:2023-10-29 06:16:25 26 4
gpt4 key购买 nike

Ruby 中的 Rack 中间件是什么?对于“中间件”的含义,我找不到任何好的解释。

最佳答案

作为设计的 Rack

Rack 中间件不仅仅是“一种过滤请求和响应的方法”——它是 pipeline design pattern 的一个实现对于使用 Rack 的 Web 服务器.

它非常清楚地分离了处理请求的不同阶段 - 关注点分离是所有设计良好的软件产品的关键目标。

例如,对于 Rack,我可以让管道的不同阶段执行以下操作:

  • 身份验证:请求到达时,用户登录详细信息是否正确?如何验证此 OAuth、HTTP 基本身份验证、名称/密码?

  • 授权:“用户是否被授权执行此特定任务?”,即基于角色的安全性。

  • 缓存:我已经处理了这个请求,我可以返回一个缓存的结果吗?

  • Decoration:如何增强请求使下游处理更好?

  • 性能和使用监控:我可以从请求和响应中获得哪些统计数据?

  • 执行:实际处理请求并提供响应。

能够分离不同的阶段(并可选地包括它们)对开发结构良好的应用程序有很大帮助。

社区

还有一个围绕 Rack 中间件开发的出色生态系统 - 您应该能够找到预构建的 Rack 组件来执行上述所有步骤以及更多操作。参见 the Rack GitHub wiki for a list of middleware .

什么是中间件?

中间件是一个可怕的术语,指的是协助但不直接参与某些任务执行的任何软件组件/库。非常常见的示例是日志记录、身份验证和其他常见的水平处理组件。这些往往是每个人在多个应用程序中都需要的东西,但没有太多人有兴趣(或应该)自己构建。

更多信息

关于ruby-on-rails - 什么是 Rack 中间件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2256569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com