且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《HTML与CSS入门经典(第8版)》——2.3 理解Web服务器上放置文件的位置

更新时间:2022-03-25 17:26:55

本节书摘来自异步社区《HTML与CSS入门经典(第8版)》一书中的第2章,第2.3节,作者: 【美】Julie C. Meloni , Michael Morrison 更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 理解Web服务器上放置文件的位置

维护Web内容的一个重要方面是确定组织内容的方法——不仅是为了用户寻找,也为了你在服务器上的维护。将文件放到指定目录中将帮助你管理这些文件。

在你的Web服务器上命名和管理目录,并且开发文件维护规则,这完全取决于你。但是,维护一个精心组织的服务器使你在长期中更加有效地管理它的内容。

2.3.1 基本文件管理
在你浏览Web时,你可能已经注意到URL随着你在网站之间浏览而变化。例如,如果你查看一个公司的网站并且单击图形化导航进入公司的产品或者服务,URL可能从

http://www.companyname.com/

变成

http://www.companyname.com/products/

或者

http://www.companyname.com/services

在前一小节中,我使用术语“文档根目录”而未作真正的解释。Web服务器的文档根目录实际上是完整的URL中后缀的“斜杠”。例如,如果你的域名是yourdomain.com,你的URL为http://www.yourdomain.com/,那么文档根目录是由后续的斜杠(/)代表的目录。文档根是在你的Web服务器上创建的目录结构的起始点,这时Web服务器开始查找Web浏览器请求的文件的开始位置。

如果你将sample.html按照刚才的指示放在文档根目录,那么你将能够通过Web浏览器在如下URL中访问它:

http://www.yourdomain.com/sample.html

如果你在Web浏览器中输入这个URL,你将看到如图2.4所示的sample.html。

但是,如果你在文档根目录中创建了一个新的目录(newdirectory)并且将sample.html放在那个目录,那么文件可能在如下URL中访问:

http://www.yourdomain.com/newdirectory/sample.html

如果你将sample.html放在你连接服务器时原来看到的目录中——也就是说,你不改变目录并将文件放在文档根目录——那么sample.html文件将无法以任何URL在你的Web服务器***问到。文件将仍然存在于你的Web服务器上,但是因为文件不在文档根目录——服务器软件所知的开始寻找文件的位置——它将永远不能被通过Web浏览器访问的人读取到。


《HTML与CSS入门经典(第8版)》——2.3 理解Web服务器上放置文件的位置

根本的原则是什么?始终导航到你的Web服务器的文档根目录,然后才开始传送文件。

对于图形和其他多媒体文件尤其如此。Web服务器上常用的一个目录称为“images”,你可以想象,这是所有图像资源放置的位置。其他常见的目录包括用于样式单文件的“CSS”(如果你使用超过一个样式单)以及用于外部JavaScript文件的“JS”。或者,如果你知道你将在网站上安排一个部分,访问者可以从这里下载许多其他不同类型的文件,你可能称这个目录为“downloads”。

不管是包含你的艺术相集的ZIP文件还是具有销售数字的Excel试算表,在互联网上发布网页之外的文件都是有帮助的。为了使非HTML文件在Web上可用,只要按照本章前面的上载说明,将文件如同HTML文件一样上传到Web服务器。当文件上传到Web服务器之后,你可以创建一个指向它的链接(你将在后面的章节中学习到)。换句话说,你的Web服务器能够提供远远超过HTML的服务。

本章中你将学习到一个HTML代码样板。如下的代码将被用于一个名为artfolio.zip文件,该文件位于你的网站的downloads目录,链接文本称为“Download my art portfolio!”:

<a href="/downloads/artfolio.zip>Download my art portfolio!</a>

2.3.2 使用一个索引页面
当你想到一个索引的时候,你可能想到的是书籍最后告诉你到哪里寻找各种关键词和主题的部分。Web服务器目录中的索引文件可以服务于这一目的——如果你这么设计它。实际上,这就是这个名字的来源。

index.html(或者只称之为索引文件,正如一般提到的那样)是你为希望人们在导航到你的网站的特定目录时看到的默认文件所取的名字。如果你创建该页的时候牢记可用性,你的用户将从索引页面中得到该部分的所有内容。

例如,如图2.5所示,显示了包含指向3个页面的链接的下拉式导航和左边导航:Solutions Overview(解决方案概述,索引页本身所在的部分)、Connection Management(连接管理)和Cost Management(成本管理)。页面本身的内容——称为index.html,位于solutions目录中——还链接到solutions部分的其他两个页面。当用户到达这个特殊网站的solutions部分时,他们能够到达该部分的任意其他页面(并且可以用3种不同的途径)。


《HTML与CSS入门经典(第8版)》——2.3 理解Web服务器上放置文件的位置

索引页面的另一个功能是当用户访问你的网站上具有索引页面的一个目录,但是没有指定该页时,他们将会登录到你的网站该部分(或者网站本身)的主页面上。

例如,在前一个示例中,用户可以输入下面的某个URL并且登录到网站solutions部分的主页面:

http://www.ipass.com/solutions/
http://www.ipass.com/solutions/index.html

如果solutions目录下没有index.html页面,结果将取决于Web服务器的配置。如果该服务器被配置为不允许目录浏览,用户将在尝试访问没有具体的页面名称的URL时看到“Directory Listing Denied”(目录列表被拒绝)信息。但是,如果服务器被配置为允许目录浏览,用户将会看到该目录的文件。

这些服务器配置选项将已经由你的主机提供商为你确定。如果你的主机提供商允许你通过控制面板修改服务器配置,那么你可以修改这些设置,这样你的服务器根据你的需求对请求进行响应。

索引文件不仅用于子目录,它也用在网站的***目录(或者文档根目录)。你的网站的第一个页面——或者称为主页(home page),或者其他用来称呼你希望用户在访问你的域时首先看到的Web内容的词——应该被命名为index.html并且放在Web服务器的文档根目录中。这将确保用户在Web浏览器中输入http://www.yourdomain.com/ 时,服务器将以你打算让他们看到的内容响应(而不是“目录列表被拒绝”或者其他不希望的后果)。