中间件介绍

中间件的概念是,应用程序周围有一系列层,如多层蛋糕或洋葱。如图10-1所示,每个请求在进入应用程序的过程中都会通过每个中间件层 然后,生成的响应在传递给最终用户的过程中通过中间件层传回。

中间件通常被认为是独立于应用程序逻辑的,理论上适用于任意应用,而不仅仅是目前正在开发的应用程序。

中间件可以检查并且装饰它或者拒绝请求,这意味着中间件非常适合于限流:它可以检查IP地址,在最后一分钟内检查访问该资源的次数,并在超过阈值时返回429(请求太多)状态。

因为中间件在退出应用程序时也可以访问响应,所以它非常适合装饰响应。例如,Laravel使用中间件将给定请求/响应周期中的所有排队cookie添加到响应中,然后将其发送给最终用户

中间件只所以强大的原因是它与请求/响应生命周期紧密结合。这使得它非常适合启用会话 - PHP需要您尽早打开会话并且很晚才关闭它,而中间件对此也很有用。

Last updated