一、服务器的定义:
服务器指的是一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。
二、中间件
中间件是服务器上负责解析http请求的一组应用程序,负责接收并解析http请求数据包,在服务器上找到数据包所请求的文件后,将其返回给客户端,如果http数据包所请求的是一个动态脚本文件,如php等,中间件就要靠CGI与脚本语言解析软件进行交互,处理好动态脚本文件后,再将处理后的文件其返回给浏览器。
说白了,中间件就是服务器上web端口(通常为80端口)的一个翻译官,负责告诉服务器用户要请求哪些文件,如果用户请求的是一个静态的html页面,就直接在服务器上找到对应文件并将其交给用户浏览器,如果用户请求的是一个动态页面如php,asp等,中间件在找到该文件后,将其交给对应的脚本语言解析程序,脚本语言解析程序将文件解析成html后,再把该html返回给服务器,最后服务器再将解析后的html发送给客户端。
所以,浏览器本身并不能渲染解析动态脚本文件,以php为例,浏览器解析的.php文件,实际上是经服务器php程序解析后的html文件。
再者,如果服务器上没有安装中间件,那么服务器就不能理解用户发来的http数据包是什么意思,当然也就无法对http请求包进行正确的响应。
https://blog.csdn.net/singit/article/details/71156893
https://blog.csdn.net/yw_1207/article/details/78706701 什么是Servlet容器?
https://blog.csdn.net/alianada/article/details/82142379 计算机底层是什么东西?
https://www.doit.com.cn/p/269160.html Windows服务器搭载ARM,人生大赢家不是微软而是Linux
https://www.cnblogs.com/lidabo/p/5830526.html ARM型号的发展历史
java程序与操作系统API的关系https://blog.csdn.net/Scotfield_msn/article/details/52521047
Intel大悲剧:这么重要的指令集 废了
当前 arm 架构的 Linux 发行版有什么不足吗?
哪些Linux发行了ARM版本
转
操作系统、驱动和硬件的关系的思考
linux网卡数据流 发送与接收
https://blog.csdn.net/hz5034/article/details/79794615 网卡驱动收发包过程.
驱动程序与API有什么区别和关联?https://zhidao.baidu.com/question/937693089931436772.html
操作系统有哪些基本部分组成https://zhidao.baidu.com/question/307885592085817884.html
https://zhidao.baidu.com/question/307885592085817884.html
CPU、OpenGL/DirectorX、显卡驱动和GPU之间的关系
http://we.poppur.com/thread-1775571-1-1.html 为什么像DEC这么技术先进的公司会倒闭,而AMD还不倒闭
servlet/tomcat等容器/springMVC之间的关系
Tomcat为应用服务器
简单点说 就是用来处理网络传输过来的一些请求 比如http请求并处理请求 返回数据
https://www.jianshu.com/p/406a09136a18servlet/tomcat等容器/springMVC之间的关系
https://blog.csdn.net/qq_38523017/article/details/82778091通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分)
https://www.cnblogs.com/hongchengshise/p/10383186.html jsp和servlet的关系