据我所知,网络服务器的部分工作是让网络之外的人可以访问它。因此,您获得一个具有某些 IP 的(物理/硬件)服务器,并将网站的源文件放在该计算机上的特定文件夹中。在此计算机上运行的 Web 服务器知道如何“满足”从客户端收到的请求。例如,它知道要查找哪个目录(在 Linux 中是/var/www),并选择默认文件 index.html
但是,如果您想从您外部的计算机访问文件(基本上),这是可以的。但是,如果您只想在计算机上查看这些文件,为什么还需要网络服务器?
为什么像 php、Node.JS 等后端语言需要有一个 Web 服务器?
最佳答案
要查看静态 HTML 文件,您不需要 Web 服务器 - 浏览器只需从磁盘加载文件并显示即可:
file:///home/user/test.html
但是,HTML 通常需要动态生成。例如,网站可能需要您登录,然后向其他人展示不同的内容。
此逻辑需要在某个地方运行,对于网页来说,它在 Web 服务器中运行(它理解 HTTP 协议(protocol),这就是浏览器发出数据请求的方式)。
作为示例,请考虑 Gmail 等电子邮件网站,您希望在浏览器中查看收件箱。您可以在计算机上运行一个进程,不断轮询您的收件箱,并创建一组包含您的收件箱及其所有电子邮件的静态文件。不过,您无法使用它来创建新电子邮件 - 这只是提供邮件只读 View 的一种非常低效的方式。
或者,您可以使用网络服务器接收来自浏览器的请求,然后它会获取您的邮件并动态生成显示收件箱所需的 HTML,然后将此 HTML 返回到浏览器进行显示.
关于tomcat - 即使您想在本地计算机上查看网站,为什么我们还需要网络服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28122547/