到底怎么区分中间件、web容器、web服务器?

求大佬解答,简单易懂,有图片最好。本人较笨。
百度了好几个,感觉总是不能彻底区分,下次问到还是说不清楚三者之间的关系

web服务器上运行着tomcat weblogic之类的web容器,容器里运行你的web网站。相对于网站来说,容器就是中间件。

中间件的含义很广泛,两个东西中间的都可以叫中间件,不光是上面的场合,比如说你的网站相对于你的客户端和你的数据库来说,也是中间件。

Web容器 :给其中的应用程序组件提供环境,中间件的组成部分
常见中间件:tomcat、weblogic、websphere