上一页 下一页

CGI 脚本如何工作

Web 服务器

正如文章 Web 服务器如何工作 中所述,Web 服务器可以非常简单。最基本地说,Web 服务器只是从磁盘中检索文件,然后通过网络将其发送给请求的浏览器。假设您在 URL http://www.bygpub.com/books/tg2rw/author.htm 中输入该地址。服务器收到对文件 /books/tg2rw/author.htm 的请求。如果您查看下图,您可以看到服务器如何解析该请求

在设置过程中,Web 服务器已被指示理解 c:\My Documents\www 是服务器的根目录。然后它会在该根目录中查找 /books/tg2rw/author.htm。当您请求 URL http://www.bygpub.com/books/tg2rw/ 时,服务器会理解您正在查找该目录的默认文件。它会查找几个不同的文件名以尝试找到默认文件:index.html、index.htm、default.html、default.htm。根据服务器的不同,它可能还会查找其他文件。因此,服务器会将 http://www.bygpub.com/books/tg2rw/ 转换为 http://www.bygpub.com/books/tg2rw/index.htm 并传送该文件。所有其他文件都必须通过明确指定文件名来获取。

广告

所有 Web 服务器都以这种方式处理静态文件。大多数 Web 服务器也通过一种称为通用网关接口(Common Gateway Interface,简称 CGI)的机制来处理动态文件。您在 Web 上的各种地方都见过 CGI,尽管当时您可能并不知道。例如

  • 任何留言板都允许您在 HTML 表单中输入一条消息,然后,下次查看留言板时,页面将包含您的新条目。
  • Network Solutions 上的 WHOIS 表单 允许您在表单上输入域名,返回的页面会根据输入的域名而不同。
  • 任何 搜索引擎 都允许您在 HTML 表单上输入关键词,然后它会根据您输入的关键词动态创建页面。

所有这些动态页面都使用 CGI。