tomcat - 即使您想在本地计算机上查看网站,为什么我们还需要网络服务器?

标签 tomcat iis webserver

据我所知,网络服务器的部分工作是让网络之外的人可以访问它。因此,您获得一个具有某些 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/

相关文章:

php - 在 Apache-Solr 中搜索部分单词

css - 站点根目录中的图像在本地呈现,但不在 IIS 服务器上呈现

iis - 压缩 IIS 日志的自动脚本?

c# - 处理 ASP.NET 5 中的 JSON 循环引用异常

python - 如何修复此页面上的错误?

tomcat - 替换 nginx 或 Tomcat 中的 GET 值

eclipse - eclipse中调试JSP时的外部jar配置

java - 浏览器不显示 Vaadin 项目的更改 - 使用 Windows

python - 如果我正在使用 Nginx 部署 Django 网站,我是否需要在其之上提供诸如 Digital Ocean 之类的服务?

http - 是否可以在 Golang 中处理多个域?