购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 网页的相关概念

网页所涉及的内容非常多,从设计出网页,到发布网页,再到用户可以访问浏览,这个过程也是非常复杂的。本节主要介绍网页制作和发布所涉及的相关概念。

1.2.1 因特网

因特网是Internet的中文译名,它的前身是ARPANet。20世纪60年代末,正处于冷战时期,当时美国军方为了使自己的计算机网络在受到袭击时即使部分网络被摧毁,其余部分仍能保持通信联系,便由美国国防部的高级研究计划局(ARPA)建设了一个军用网,叫做“阿帕网”(ARPANet)。阿帕网于1969年正式启用,当时仅连接了4台计算机,供科学家们进行计算机联网实验用。这就是因特网的前身。

到20世纪70年代,阿帕网已经有了几十个计算机网络,但是每个网络只能在网络内部的计算机之间互联通信,不同计算机网络之间仍然不能互通。为此,ARPA又设立了新的研究项目,支持学术界和工业界进行有关的研究。研究的主要内容就是想用一种新的方法将不同的计算机局域网互联,形成“互联网”。研究人员称之为“internet work”,简称“Internet”。这个名词就一直沿用到现在。

因特网是由许多小的网络(子网)互联而成的一个广域网,每个子网中连接着若干台计算机(主机)。在这个网络中,存在着各种各样的网络设备、服务器及各种终端。因特网以相互交流信息资源为目的,基于一些共同的协议,并通过许多路由器和公共互联网联网而成,它是一个信息资源和资源共享的集合,如图1-3所示。

图1-3 因特网示意图

因特网是近几年来最活跃的领域和最热门的话题,而且发展势头迅猛,成为了一种不可抗拒的潮流。Internet之所以获得如此迅猛的发展,主要归功于如下的特点。

◆ 它是一个全球计算机互联网络。

◆ 它是一个巨大的信息资料库。

◆ 最重要的是它是一个大家庭,有全世界的网民参与,共同享用着人类自己创造的财富(即信息资源)。

1.2.2 万维网

万维网(World Wide Web,简称WWW)是因特网上集文本、声音、图像、视频等多媒体信息于一身的全球信息资源网络,是因特网上的重要组成部分。浏览器(Browser)是用户通向WWW的桥梁和获取WWW信息的窗口,通过浏览器,用户可以在浩瀚的Internet海洋中漫游,搜索和浏览自己感兴趣的所有信息。

WWW的网页文件是利用超文本标记语言HTML(Hyper Text Markup Language)编写、并通过超文本传输协议HTTP(Hyper Text Transmission Protocol)传输的。超文本中不仅含有文本信息,还包括图形、声音、图像、视频等多媒体信息,更重要的是超文本中隐含着指向其他超文本的链接,这种链接称为超链接(Hyper Links)。利用超文本,用户能轻松地从一个网页链接到其他相关内容的网页上,而不必关心这些网页在物理上分散在何处的主机中。

HTML并不是一种一般意义上的程序设计语言,它将专用的标记嵌入文档中,对一段文本的语义进行描述,经解释后产生多媒体效果,并可提供文本的超链接。

1.2.3 浏览器

WWW浏览器是一个客户端的程序,其主要功能是使用户获取万维网上的各种资源,并用一种方式展示给用户。此外,用户还可以通过浏览器来与Web服务器产生互动,即输入某些信息、下载某个文件等。

网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。大部分浏览器本身支持除了HTML之外的广泛的格式,例如JPEG、PNG、GIF等图像格式,并且能够扩展支持众多的插件(plugin)。另外,许多浏览器还支持其他的URL类型及其相应的协议,如FTP、Gopher、HTTPS(HTTP协议的加密版本)。HTTP内容类型和URL协议规范允许网页设计者在网页中嵌入图像、动画、视频、声音、流媒体等。

常见的网页浏览器包括微软的Internet Explorer、Mozilla Firefox、Apple的Safari、Opera、Google的Chrome、360安全浏览器、世界之窗、腾讯TT、搜狗浏览器及傲游等。图1-4、图1-5和图1-6所示的是三种不同浏览器对同一网站的浏览效果。

由于对HTML和CSS的支持程度不同,不同浏览器在展示网页的时候效果会有所不同,这是网页设计人员必须考虑和解决的问题,即浏览器的兼容性问题。因为你不能确定或限制访问者使用什么浏览器来浏览你的网页,所以,必须考虑到各种浏览器的展示效果是否完全一致。

图1-4 Internet Explorer

图1-5 Mozilla Firefox浏览器

图1-6 Chrome浏览器

1.2.4 超文本标记语言

通过浏览器浏览主页时,看到的其实是一种所谓的超文本(Hypertext)文件,它一方面通过页面里面的“超链接”(即标签)相互关联,另一方面内含多媒体对象,因此称为“超文本”。在因特网上,使用超文本标记语言(HTML,Hypertext Mark-up Language)语法来描述超文本文件,而客户端的浏览器负责解释这些超文本,最终生成访问者看到的页面形式。

HTML是基于标准通用标记语言(SGML)而开发的,它通过各种各样的“标记”向浏览器说明页面外观、文字格式、超链接目标、图片属性等内容。同时,HTML的格式是一个公共标准,非常简单。

例如,以下代码在Windows Internet Explorer 8 中的显示效果如图1-7所示。

在这个网页代码中,第1行中DOCTYPE即Document Type(文档类型),在页面中用来指定当前页面所使用的XHTML或HTML的版本。在一个规范的HTML文档中,DOCTYPE声明是必不可少的,只有确定了一个正确的DOCTYPE,XHTML里的标识和CSS才能正常生效。DOCTYPE的声明遵循一定的语法规则,关于其用法,本书后面章节会详细描述。第2行是整个HTML文档的根元素html,第3~第23行是head元素,当然head元素里面还包含许多子元素,如meta、title和style等。第23~第29行是body元素,在body元素内部包含p元素和span元素。

图1-7 一个简单的网页

有关HTML元素的使用方法,此处先不多说,本书第2章会详细地对每个常用元素的用法进行介绍。

1.2.5 电子邮件

电子邮件(Electronic mail,E-mail),标志为“@”,又称电子信箱,它是—种用电子手段提供信息交换的通信方式。它是因特网应用最广,也是出现最早的服务。

通过网上的电子邮件系统,用户可以用非常低廉的价格,以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以包括文字、图像、声音等各种信息。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。

1.2.6 统一资源定位符

统一资源定位符即URL,URL是Uniform / Universal Resource Locator 的缩写,也被称为网址,它是因特网上标准的资源地址。统一资源定位符是用于完整地描述因特网上网页和其他资源地址的一种标识方法。因特网上的每一个网页都具有一个唯一的名称标识,通常称之为URL地址,这种地址可以是本地磁盘,也可以是局域网上的某一台计算机,更多的是因特网上的站点。

尽管因特网上面的资源的类型非常多,例如网页、新闻组和文件,但是这些资源的URL具有统一的格式,采用相同的基本语法。因此,无论寻址哪种特定类型的资源,都可以使用URL。URL的一般格式为:

从上面的语法可以得知,URL由3部分组成,分别为协议类型、主机名、路径及文件名。通过URL可以指定的资源主要有以下几种,分别为http、ftp、gopher、telnet、file等。

URL中的端口部分在使用标准协议且端口为该协议的默认端口时是可以省略的。

1.协议

协议指定与该URL通信时使用的传输协议,即通信双方主机必须共同遵守的规则。在因特网上,常用的协议如下。

(1)File协议

文件协议所指向的资源是本地计算机或者局域网内的主机上的文件。其格式为:

在上面的语法中,path参数用来指定文件的绝对路径,包括文件名。例如file://c:/temp/test.txt,该URL指向C盘temp目录里面的test.txt文件。

(2)FTP协议

FTP协议的全称为File Transfer Protocol,即文件传输协议。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

如果使用默认端口,则URL中的端口号可以省略。

Windows平台上常用的FTP服务器软件有微软的文件传输协议(FTP)服务、FileZilla Server和Serv-U等。Windows平台常用的FTP客户端主要有FileZilla Client、FlashFXP和CuteFTP等。其中FileZilla 的服务器端和客户端都是开源软件,其他的都是商业软件。

Linux/UNIX平台上常用的FTP服务器有vsftpd、ProFTPd和PureFTPd等,这些都是开源软件。

(3)HTTP协议

HTTP协议的全称为Hypertext Transfer Protocol,即超文本传输协议。该协议是万维网上最常用的协议,用户在浏览网页的时候,浏览器就是通过该协议从Web服务器上获取网页文件的。其默认端口是80,如果使用该默认端口号,则URL中的端口号部分也可以省略。这样的话,在访问网页的时候,就只看到一个域名,而没有看到端口号。

(4)HTTPS协议

HTTPS协议全称为Hypertext Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层。HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS使用的默认端口不同于HTTP,其默认端口号是443。此外HTTPS协议包含一个加密/身份验证层,该层位于HTTP与TCP之间。

这个系统最初由网景(Netscape)公司开发,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通信方法。现在它被广泛用于万维网上安全敏感的通信,例如交易支付方面。

(5)Mailto协议

Mailto协议即电子邮件协议,通过该协议可以创建一个指向电子邮件地址的超链接,当访问者单击该链接时,会自动调用浏览器的默认电子邮件程序,发送邮件至Mailto中冒号后面所指定的E-mail地址。例如在网页代码中插入如下代码:

用户在网页上单击该超链接就会打开默认的邮件客户端程序,输入相应的邮件内容后就可以向abc@xxx.com发送邮件。另外,在IE浏览器的地址栏中输入mailto:abc@xxx.com,回车后同样可以达到这样的效果。如果要使用mailto同时实现多个功能的话,第一个功能必须以“?”开头,后面的每一个功能都以“&”开头;另外,cc后为抄送地址,bcc后为暗送地址,subject后为邮件的主题,body后为邮件的内容。例如:

以上例子会向sample@163.com这个邮箱发送一封主题为“test”、内容为“use mailto sample”的邮件,并将该邮件抄送给sample@gmail.com。

(6)MMS协议

MMS协议的全称为Microsoft Media Server protocol,是一种流媒体传送协议,用来访问并流式接收Windows Media服务器中ASF文件的一种协议。MMS协议用于访问Windows Media发布点上的单播内容。MMS是连接Windows Media单播服务的默认方法。

访问者在Windows Media Player中键入欲播放内容的URL来观看视频。例如:

以上URL指向位于media-wm.cac.washington.edu主机上的一个流媒体文件umd_mom_edwards_wm9.asf。在Media Player中可以直接打开该URL,如图1-8和图1-9所示。

MMS的默认端口是1755。现在除了Windows Media外,如KMPLAYER、暴风影音和射手影音播放器等流行的播放器也支持该协议。

2.主机名

主机名是指存放资源的服务器的域名系统(DNS)主机名或 IP 地址。

3.端口号

端口是计算机与外界通信的出口,端口是通过端口号来标记的。端口号是一个整数,范围是从0 到65535,一共有2 16 (即65536)个端口。

一台拥有IP地址的主机可能会提供许多种不同类型的服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过共用一个IP地址来实现。那么,主机怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上操作系统是通过“IP地址+端口号”来区分不同服务的。

图1-8 在Media Player中打开URL

图1-9 通过Media Player播放MMS流媒体

如前所述,各种传输协议都有默认的端口号,如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。

4.路径

路径是由零或多个“/”符号隔开的字符串,一般用来表示主机上的一个目录或文件存放的地方。

1.2.7 域名

域名(Domain Name),是由一串用点分隔的字符组成的长串,其作用是用来表示Internet上某一台或者某一组计算机的名称。在正常情况下,每个域名都与一个IP地址相对应。当用户通过浏览器访问域名时,浏览器会自动将域名转换为对应的IP地址。与IP地址相比,域名非常容易记忆,便于使用。

例如网易公司的域名是www.163.com,该域名由3部分组成,最前面的www代表一台主机的名称。通常来说,提供网站服务的域名的第一部分都是www,表示World Wide Web服务。中间的163是这个域名的主体,这一部分往往就是公司的名称。域名的最后一部分表示域名的类型或者国家。其中com代表的这是一个商业类型的国际域名。

域名中的各部分中只能含有英文字母、数字或者下画线。每一个部分的长度不能超过63个字符,也不区分大小写字母。总的域名长度不能超过255个字符。

1.2.8 文件传输协议

文件传输协议(FTP)用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

FTP的主要作用就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上复制到本地计算机上,或把本地计算机上的文件传送到远程计算上去。

TCP/IP协议中,FTP标准命令端口号为21,数据端口号一般为20。FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、连接的方式、甚至是否使用相同的操作系统无关。假设两台计算机通过FTP协议对话,并且能访问Internet,你可以用FTP命令来传输文件。每种操作系统使用上有一些细微差别,但是每种协议基本的命令结构是相同的。

FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。

1. ASCII传输模式

ASCII传输模式是用来传输ASCII文本文件的。使用这种传输模式,被传输的文本会根据双方的实际情况发生变化,这种变化主要体现在回车换行符。例如,如果用户从一台Windows的主机上传输一个文本文件到一台UNIX主机,文件中的回车和换行符会自动转换成一个换行符。反之,如果用户从一台UNIX主机上下传一个文本文件,则文件中的换行符会自动转换成一个回车符加上一个换行符。这样做的目的主要是为了使不同平台间的文本文件格式一致。

由此可以看出,使用ASCII模式传输文件,文件的大小和内容都会发生变化。但是这不能说是不同的系统对于回车换行符的解释不同,而是不同的操作系统有不同的行结束符定义。在Windows下面是两个字节,其ASCII值为十六进制的0A0D,即\r\n(一个回车符加上一个换行符),在UNIX下面是一个字节,其值为十六进制的0A,即\n,在Mac下面也是一个字符,ASCII值为十六进制的0D,即\r。

2. 二进制传输模式

在二进制传输模式中,FTP双方会原封不动地把文件传输过去,不做任何转换。这样的话原始文件和复制的文件是逐位一一对应的。

从以上说明中可以看出,ASCII模式和二进制模式的区别就在于换行符的处理上。当使用ASCII方式从UNIX的FTP服务器上下载文件时(不管是二进制或者文本文件),每检测到1字节是0A,就会自动插入1个0D,如果此时传输的文件是二进制文件(比如可执行文件、压缩包什么的),就肯定不能用了。

如果传输的文件是UNIX平台下的文本文件,使用 ASCII模式是正确的,要是误用了二进制模式,则在Windows上看到的这个文件是没有换行的,里面只是一个个的黑方块。

一般来说,最好都用二进制模式,这样可以保证不出错。如果有文本格式转换的问题,即UNIX格式的文本和Windows格式的文本之间的转换,有很多工具可以做的,不要在FTP传输的时候冒险,尤其是对要传输的文件不是非常清楚的时候。

FTP的工作方式有两种:主动方式和被动方式。下面介绍这两种方式的工作原理。

(1)主动方式下FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP服务器必须和客户端建立一个新的连接用来传送数据。

(2)被动方式在建立控制通道的时候和主动方式类似,但建立连接后发送的不是PORT命令,而是PASV命令。FTP服务器收到PASV命令后,随机打开一个临时端口(也叫自由端口,端口号大于1023小于65535),并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器的这个端口,然后FTP服务器将通过这个端口进行数据的传送。这个时候FTP 服务器不再需要建立一个新的和客户端之间的连接。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登录FTP服务器,因为从服务器的TCP 20端口无法和内部网络的客户端建立一个新的连接,造成无法工作。

1.2.9 IP地址

众所周知,在电话通信领域中,拨打电话首先要知道对方的电话号码,在整个电话网络中,号码是唯一的。同样的道理,在计算机网络中,每台计算机也要有一个类似于电话号码的识别码,它被称为IP地址。

在计算机领域里电信号都用0或1来表示和识别,不论是计算机内部通信还是在网络中传输一个文件,对于硬件来说它都是由一连串的0和1的代码组成的。例如下载一个MP3文件时,网络设备和计算机所接收到的信息实质上就是一长串0和1的代码,像00000100011111100000111100001010101010000。

当然IP地址也不例外,网络设备分析IP地址时也通过0、1代码来识别。当今IP地址分为IPv4和IPv6两种版本。下面分别对这两种版本的IP地址进行介绍。

1. IPv4

IPv4使用32位地址,因此最多可能有4 294 967 296个地址,即2 32 个地址。例如11000000101010000000000100000001就是一个IPv4的地址。这么长的地址记忆起来非常困难,所以人们用“点分十进制”来表示IP地址,将32位代码分成4组,每组8位,中间用句点“。”分隔,所以上述代码就可以写成11000000.10101000.00000001.00000001,之后用十进制法则将4组8位二进制码用数字来表示,它就变成了192.168.1.1。这样就容易记忆了。其中每组8位代码称为1字节,1个IP地址由4字节组成。

通常把IP地址分为A、B、C、D四类,把32位的地址分为两个部分:前面的部分代表网络地址,全球统一分配,后面部分代表局域网地址。例如在C类网络中,前24位为网络地址,后8位为局域网地址,可提供254个设备地址,即2 8 -2个IP地址。之所以减去2个,是因为有两个地址不能为网络设备使用。这两个不能使用的IP地址为255和0,255为广播地址,0代表此网络本身。

网络掩码限制了网络的范围,1代表网络部分,0代表设备地址部分,例如C类地址常用的网络掩码为255.255.255.0。

除了上面介绍的IP 地址外,还有一些特殊用途的IP地址段。这些地址段主要有以下几个。

127.x.x.x: 该IP地址段给本机使用。

224.x.x.x: 该IP地址段为多播地址段。

255.255.255.255: 该地址为通用的广播地址。

10.x.x.x,172.16.x.x和192.168.x.x: 这些地址段仅供内部网使用。如果具有这些IP地址的主机需要连接到Internet上与其他的主机通信,则需要对这些内部网地址进行转换,即网络地址转换。

2. IPv6

IPv6即网际协议版本6,是被指定为IPv4继任者的下一代网际协议版本。IPv6产生的背景是IPv4类型的IP地址空间面临着即将耗尽的困境。IPv6在1998年12月被因特网工程任务小组(Internet Engineering Task Force,简称IETF)通过公布因特网标准规范(RFC 2460)的方式定义出台。

IPv6具有比IPv4大得多的地址空间,这是因为IPv6使用了128位的地址,而IPv4只有32位。因此新增的地址空间支持2 128 (约3.4×10 38 )个IP地址。这一扩展提供了灵活的地址分配及路由转发,并消除了对网络地址转换(NAT)的依赖。NAT是获得了广泛部署的减缓IPv4地址耗尽的最有效的方式。

通常情况下,在使用IPv6时,会将128位写成8组、每组4个十六进制形式的数字。例如:

它是一个合法的IPv6地址。如果某组中的四个数字都是0,则该组可以被省略。例如:

它等同于: RjS+gJ2zm7p8JOoQq87x70j6p8db7k3wsMcZlIfSaxpWdgIjT1jWiIZeLjF8GtTn

点击中间区域
呼出菜单
上一章
目录
下一章
×