gpt4 book ai didi

apache - Web服务器、应用服务器和数据库服务器的区别

转载 作者:行者123 更新时间:2023-12-03 02:00:21 24 4
gpt4 key购买 nike

我在某处读到,Web 应用程序由 Web 服务器、应用程序服务器和数据库服务器组成。这三者有什么区别?

<小时/>

我问这个问题是因为我记得当我托管一个网站时,我只有一个 https登录网站的控制面板,我将所有文件放在 htdocs 中文件夹。不存在 Web 服务器、应用程序服务器和数据库服务器等三个独立的东西。

最佳答案

这常常会让人感到困惑。

首先 - “服务器”可以指物理事物(计算机),也可以指逻辑事物(软件)。

Web、应用程序和数据库服务器软件都可以在同一台物理服务器计算机上运行,​​也可以分布在多台物理计算机上。大多数大型网站都有多台机器;大多数“消费者”托管包在单个机器上运行。

逻辑分离如下。

Web 服务器处理 HTTP(S) 请求,并将这些请求传递给“处理程序”。它们具有用于文件请求的内置处理程序 - HTML 页面、图像、CSS、JavaScript 等。您可以为它们无法管理的请求添加其他处理程序 - 例如由应用服务器下发的动态页面。 Web 服务器实现 HTTP 规范,并且知道如何管理请求和响应 header 。

应用程序服务器处理创建动态页面的请求。因此,它们不是提供存储在硬盘上的 HTML 页面,而是动态生成发送给最终用户的 HTML。常见的语言/框架有 Java/JSP、.Net (aspx)、PHP、Ruby(无论是否在 Rails 上)、Python 等。大多数时候,该应用程序服务器软件与 Web 运行在同一台物理服务器上服务器。

数据库服务器软件是应用程序存储其结构化信息的地方。通常,这意味着定制软件允许应用程序服务器使用编程语言提出诸如“用户 x 的购物篮中有多少商品?”之类的问题。例如 MySQL、SQL Server、Oracle(所有“关系数据库”)以及 MongoDB、Redis 和 CouchDB(“NoSQL”解决方案)。

数据库软件可以在与 Web 服务器相同的物理计算机上运行,​​但当站点需要扩展时,它通常是首先托管在单独的物理硬件上的软件。

关于apache - Web服务器、应用服务器和数据库服务器的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13042840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com