服务器端技术实际上是如何工作的?

Kev*_*oyd 3 lamp

我一直听说服务器端流行的 LAMP 和 WAMP 配置,也知道 LAMP 代表 Linux、Apache、MySQL、PHP/Python/Perl/Ruby 等。
但我不知道所有这些如何与每个其他。
例如,如果我在家里的 Windows 机器上安装了 Xampp,并且它有一个 htdocs 文件夹来存储我的网页……当我查询该页面时,浏览器将它显示给我……
我需要知道什么:

  • Apache 实际上只是为我的网页提供硬盘驱动器吗?
  • PHP/Python/Perl/Ruby 和 MySQL 在哪里适合?
  • 就像 Xampp 在我的电脑上有 htdocs 一样,Apache Web 服务器上是否有类似的文件夹?

目前很混乱,谁能解释一下?

pho*_*bus 11

这些都是非常普遍的问题。您可能应该在 Wikipedia 或其他网站上阅读一些有关数据库、Web 框架和 Web 服务器的信息。

然而,只是为了给你一个快速的概述:

Web 服务器是一个程序,它为通过万维网访问您的机器的人提供数据。世界上最流行的两种 Web 服务器是 Apache 和 Microsoft Internet Information Services (IIS)。

数据库存储数据,最常见的是以关系方式存储数据。您可以将此数据用于 Web 内容,即它可以存储博客文章、用户名和密码,基本上任何内容。用于 Web 开发的最常见数据库是 SQL 变体,最流行的是 MySQL 和 MS SQL Server。

PHP、Python、Ruby 和 Perl 是高级语言,曾经可能被称为脚本语言(但现在已经变得更多了)。它们之间存在各种技术和哲学差异,但它们都用于相同的目的。在 Web 术语中,这些语言用于对动态 Web 内容进行编程。您的 Web 服务器运行 PHP/Ruby/Perl/Python 代码,该代码与来自数据库和/或 HTML 页面的数据相结合,输出由您的 Web 服务器软件提供并最终被用户看到的 Web 内容。所有这些语言都有不同的框架来简化 Web 开发(例如 Rails for Ruby)。

XAMPP 只是一个包含 apache Web 服务器、mysql 数据库软件以及 PHP 和 Perl 安装的预打包工具包。

提供页面的过程的基本流程如下:

  1. 远程用户请求http://www.yoursite.com/index.php
  2. 您的 Apache Web 服务器软件接收该请求并准备通过与该特定用户的连接提供适当的信息
  3. Apache 与 PHP 的集成会在您的服务器上启动 PHP 解释器并执行 index.php 中的 PHP 代码
  4. 该 PHP 代码可能反过来包含从 MySQL 数据库获取和/或设置数据以在网页中使用或用于用户或会话管理的请求。
  5. 您的 Web 服务器向远程用户发送一个 HTML 文档,该文档通过 PHP 代码、数据库信息以及来自您网站的预先编写的静态 HTML 和 CSS 的上述组合组合在一起。

另外,要回答您关于 Apache 是否只是“您网站的硬盘”的问题,情况并非如此。Apache 为您做的一些事情包括管理许多用户与您的站点的连接,为动态网页执行正确的解释器,控制对各种页面的访问,将用户重定向到各种内容,等等。Web 服务器软件是各种语言、开发框架、加密系统、身份验证和访问控制以及其他技术相交以创建功能齐全的网站的中心点。