ahnuzfm 2019-11-09
总线拓扑(bus topology):所有节点共享条通 信线的LAN配置。
Internet:遍布地球的广域网。
城域网(Metropolitan-Area Network, MAN):为大城市开发的网络基础设施。
把家用计算机连接到Internet的方法最常用的三种如下
1.电话调制解调器(phone modem):把计算机数据转换成模拟音频信号,然后再把模拟音频信号转换回计算机数据的设备。
缺陷:这种方法的数据传输率被限制在模拟语音通信的数据传输率,通常最多每秒64KB
2.数字用户线路(Digital Subscriber Line,DSL):用常规电话线传输数字信号的Internet连接方式
缺陷:由于数字信号在两点间传输的过程中会减弱,所以要使用DSL技术,你家不能离电话公司的核心办公室太远
3.线缆调制解调器(cable modem):使用家庭的有线电视网络进行计算机网络通信的设备
DSL连接和线缆调制解调器都属于宽带连接。根据位置和访问是否通过卫星、电话线、视频电缆或光纤,宽带传输速度的范围从384Kbps到50Mbps或更高。
由于下载的数据通信量远远大于上载的数据量,所以许多DSL和线缆调制解调器的提供商提供的下载速度比上载速度快
中继器(repeater):在较长的通信线路上加强和传播信号的网络设备。
之所以存在今天我们所熟知的联网技术,都归功于开放式系统的技术和方法(如OSI参考模型)
网络协议参照OSI参考模型的基本概念也进行了分层,以便OSI参考模型中的每一层都能依靠自己的基础协议,如图15-6所示。这种分层有时叫作协议栈 。
优点:采用分层的方法可以在不舍弃低层基础结构的前提下开发新的协议。此外,这样还最小化了新网络协议对网络处理其他方面的影响。
有时,同一层中的协议提供与该层其他协议同样的服务,但是采用的方式却不同。
这些协议的重要之处是,它们提供了一种在连网的计算机间进行交互的标准方式。
图15-6中的最低两层构成了Internet通信的基础 。其他协议有时叫作高层协议 ,负责处理特定类型的网络通信。这些层本质上是OSI参考模型的特定实现 ,以各种方式对应于该模型中的分层。
传输控制协议(Trasmission Control Protocol, TCP): 把消息分割成包,在目的地把包重新组装成消息,并负责处理错误的网络协议。
网际协议(InternetProtocol,IP): 网络协议,处理包通过互相连接的网络传递到最终目的地的路由选择。
TCP/IP: 一组支持低层网络通信的协议和程序。(这种写法反映了TCP是在IP的基础之上的。)
用户数据报协议( User Datagram Protocol, UDP): 牺牲一定可靠性实现较高传输速率的网络协议,是TCP的替代者。(UDP是TCP/IP协议组的一部分)
ping: 用于测试一台特定的网络计算机是否是活动的以及是否可到达的程序。
跟踪路由程序(rceroute): 用于展示包在到达目的节点的过程中经过的路线的程序。
IP软件处理的是包通过互相连接的网络传递到最终目的地的路由选择。TCP软件负责消息分割成包,交给IP软件传递,目的地机器上的TCP则负责把包排序,重新组合成消息。TCP软件还要处理所有发生的错误,如一个包永远不能到达目的地。
UDP和TCP的主要不同之处在于TCP牺牲了一定的性能,提供了高度可靠性,而UDP更快,但不那么可靠。
其他协议都是在TCP/IP协议组建立的基础之上构建的。一些关键的高层协议如下:
以上这些协议都是构建在TCP之上的。还有些高层协议构建在UDP之上,主要是为了利用它提供的速度。不过,由于UDP的可靠性不如TCP,所以UDP没有TCP那么流行。
有些高层协议具有特定的端口号。端口 是对应于特定高层协议的数字标号。服务器和路由器利用端口号控制和处理网络通信。图15-7列出了常用的协议和它们的端口。有些协议(如HTTP)具有默认的端口,但也可以使用其他端口。
与网络协议和标准化相关的概念是文件的MIME类型 。
应用程序根据文档的MIME类型可以决定如何处理其中的数据。例如,用于阅读电子邮件的程序会分析电子邮件附件的MIME类型,以决定如何显示它(如果可以的话)。
许多常用应用程序创建的文档和来自特定领域的数据都有MIME类型。例如,化学家和化学工程师为各种与化学相关的数据类型定义了一大套 MIME类型。
防火墙的主要作用是保护(从某种程度上讲是隐藏)驻留在它“后面”的一组管理较松懈的机器。
组织的系统管理员为他们的LAN设置防火墙,接受“可接受”类型的通信,拒绝其他类型的通信。实现这一策略的方法有很多,最直接了当的方法是拒绝特定端口的通信。例如,可以建立防火墙,通过拒绝由端口23进入的所有通信,能够阻止LAN之外的用户创建对LAN之内机器的telnet连接。
更复杂的防火墙系统能维护有关经过它们的通信的状态的内部信息或数据本身的内容。防火墙能够决定的通信状态越多,就越能够保护它的用户。当然,这种安全性是有代价的。有些复杂的防火墙会给网络通信带来明显的延迟。
当你通过一个计算机网络进行通信时,最终都是在与世界上某处的另一台计算机通信。标识特定的机器以建立通信是一种相当复杂的机制。
主机名 是Intermnet上的计算机的唯一标识。 主机名通常是易读懂的单词,中间由点号分隔。
例如:
matisse.csc.villanova.edu
condor.develocorp.com
在处理电子邮件地址和站点时,我们倾向于使用主机名,因为它们容易理解和记忆。但是,网络软件却要把主机名翻译成对应的IP地址 ,这样更便于计算机使用。IP地址通常是4个十进制数,中间由点号分隔。
例如:
205.39.155.18
193.133.20.4
一种形式的IP地址长为32位,称为IP4。IP地址中的每个数对应IP地址中的一个字节。由于一个字节(8位)可以表示256种事物,所以IP地址中的数字的范围是0到255。
IPv4协议的一个主要问题是,它限定了可以唯一识别的电脑的数量( 40亿左右)。随着互联网使用的增加,特别是随着移动计算设备(如智能手机和平板电脑)的普及,4字节独特IP地址的供应迅速减少。2011 年初,IPv4 地址的最后一个块也被分配了出去。
IPv6协议是IPv4协议的继承者,与之前使用的32位(使用4个组别的8位)的IPv4协议不同,IPv6地址使用8个组别的16位共128位地址。IPv6地址通常写作十六进制数字来保持长度可控,比如:
FE80: 0000:0000:0000:0202:B3FF:FE1E:8329
除了提供更多的地址,IPv6 协议还提供几种改进网络通信管理的附加功能。IPv6 与IPv4寻址并行运作,创造两个平行网络。
主机名由计算机名加域名 构成。例如,在主机名
matisse.csc.villanova.edu
中,matisse是计算机名,csc.villanovn.edu是域名。域名由两个或多个部分组成,它们说明了计算机所属的组织或组织的一个子集。在这个例子中,matisse是Villnova大学的计算机科学系的一台计算机。
域名仅限于由特定组织控制的一组特定网络。注意,两家组织中的计算机可以重名,因为从域名可以分辨出引用的是哪一台计算机。
域名中的最后一部分叫作顶级域名 (TLD)。图15.10列出了主要的顶级域名。有些TLD (图I5-10中带星号的)从Itemet建立伊始就存在了,而其他的则相对较新。
ICANN 代表赋值名称与数字互联网公司,是管理顶级域名(ILD)的国际权威。
云计算是一个较大规模的概念。除了电子邮件服务,你也可以将文件、图片、视频等存储到网络服务器上而不是本地计算机上,这样你不论在哪里都能够访问这些文件。
除此之外,云服务往往也提供其他好处。云服务可以备份你的数据,减轻你相关的备份任务。一些云服务将网页寄存功能作为其服务的一部分。还有一些支持同步服务,让类似浏览器书签的东西在多个设备上自动同步。
云计算成为提供个人服务的好办法的同时,它也成为企业进行管理资源的流行方式,这使得企业从可能产生的昂贵软硬件资源开销中解脱,并同时节省了在本地管理这些相关数据资源的人工成本。
目前有几种不同类型的云服务:
公有云:允许任何订阅用户访问;
私有云:专门为一个特定的组或组织建立,并限制在该组织团体内访问;
社区云:在拥有相似需求的多个组织之间进行云共享;
混合云:上述云服务类型的一些组合。
Internet使通信成为可能,而Web则使通信变得更轻松、更丰富,更有趣。
Web地址是统一资源定位符(URL)的核心部分,URL唯一标识了存储在世界各处的Web页。注意,URL的一部分是存储信息的计算机的主机名。
Web搜索引擎是帮助你找到其他Web站点的站点。
大多数搜索引擎是用用户输人的关键字与作为站点索引的一组关键字进行比较。有些搜索引擎几乎把每个Web页上的每个单词都作为索引存入数据库,只是除去a,an和the这样的常用单词。有些搜索引擎则只用Web页的部分内容作为索引,如文档的标题和题名等。有些索引技术区分大小写,有些则不。
关键字搜索非常具有挑战性,因为自然语言(如英语)本身具有二义性。如果提供了足够多的关键字,搜索引擎就能够正确地区分匹配站点的优先次序。但在没有上下文的情况下,基本的关键字匹配是很有限的。
有些搜索引擎执行基于概念的搜索,即尝试判断所执行的搜索的上下文。如果它们运行得很好,返回的候选页会包含你要搜索的主题的相关内容,无论这个页面中的单词是否与查询中的关键字完全匹配。基本前提是分类,即对比相近的单词。例如,在医学范畴内,心脏这个词可能与动脉、胆固醇和血这些词相近。
基于概念的搜索比关键字搜索复杂得多,基于概念的搜索技术很不完善,不过一旦有所改进,这种技术的潜力不可限量。
即时消息( Instant Messaging, IM) 应用程序是最受欢迎的Web程序。顾名思义,使用这些程序,你可以实时地给朋友或工作伙伴发送消息。
如果发送者和接收者同时运行了即时消息应用程序,那么消息一到达就会立刻弹出来,这样两个人就能够进行在线“交谈”。现在领先的IM应用程序是America Online (AOL) Instant Messenger ( AIM)。
今天的IM应用程序非常复杂,允许用户定制联系人列表,设置默认的答复,除了文本外,还可以发送标准的图形或订制的图形。IM模式已经成了许多Web用户的标准通信方法。
大多数IM应用程序采用专有的协议,规定通过网络发送消息的格式和结构。AIM的协议也是专有的,但并不限于AOL用户才能使用,这也是AIM如此受欢迎的原因。
即时消息虽然方便,但却不安全。通过各种IM协议发送的消息并没有加密,可能会被网络通信途中的中间点截获。未加密的电子邮件也同样不安全。
Weblog简称为博客( blog),是在网站定期发表文章的一种途径。根据发表的作者、主题和博客的性质,发表的文章可以只是一段,也可以是长篇大论,能够与报纸或杂志上的文章相媲美。
一个网站可以完全被组织成一个博客,也可以把博客作为一个站点的一部分,该站点还可以有其他元素。许多创建和发表博客的工具和在线服务都使新手能够容易地搭建并运行自己的站点。
从20世纪90年代末Weblog首次出现以来,它已经得到了巨大的改进。虽然我们仍然能看到许多博客发表的是作者自己的无稽之谈和无聊琐事,但还是有许多博客为各种严肃话题提供了出路。有些博客是某种特定问题的重要信息资源,拥有很多追随者。2004年,Merriam- Webster Dictionary宣布“博客”一词为该年度的重要用词。
有些博主自称是公民记者,这就提出了一种新想法,即他们的博客是其他媒体有效且有价值的信息源。
由于博客是在线发布系统,所以它们对时事的反应比传统的印刷媒体快多了。出于这种原因,许多新闻记者都开辟了自己的博客,以便辅助自己在传统媒体领域的工作。
cookie是Web服务器存储在你的计算机硬盘上的一个小文本文件。
cookie是另一种基于Web的技术,对于用户而言,它增强了Web的实用性。站点可能会在用户的机器上存储个cookie,以捕捉之前这台机器和站点之间发生的交互。
cookie中存储的信息段是名字-值对以及存储信息的站点的名字。例如:
UserID KDFH547EH398DFJ www. goto.com
如这个例子所示,Web站点可能会为每个访问它的计算机生成一个唯一的ID编号,并将其存储在本地计算机上。更复杂的cookie会存储计时信息,如这台机器访问了站点多久,浏览了哪些内容。
cookie对于Web站点来说用途很多。有些Web站点用cookie来确定有多少不同的访问者。还有些Web站点用cookie存储用户的喜好,以便为用户定制站点的交互。购物车也是用cookie来实现的。
使用cookie的一个问题是人们通常会共用一台计算机来访问Web。由于cookie是基于连接到Web的计算机而不是基于个人的,所以用cookie个人化站点的访问并不总是行得通。
关于cookie有些常见的误解。cookie不是程序,不会在你的计算机上执行任何操作。它也不能收集有关你或你的计算机的个人信息。这些是常见的误解。不过,由于种种原因,cookie还没有被广泛接受。
HTML文档是常规的文本文档,用任何般的编辑器或字处理软件都可以创建它。也有用于协助创建Web页的专用软件,但这些工具最终生成的都是HTML文档。当Web页被请求时,在Web上传输的是这些HTML文档。
标记 都封装在尖括号中(<...>)。像HEAD、TITLE和BODY这样的单词叫作元素 ,指定了标记的类型。标记通常是成对出现的,具有一个起始标记(如
)和对应的结束标记(如)。HTML不区分大小写,因此等价于。每个HTML文件都包括两部分,即文档的头和文档主体。文档头包含的是有关文档自身的信息,如文档标题。文档的主体存放的是要显示的信息。
整个HTML文档封装在标记和中。文档的头和主体是以类似的方式说明的。标记
和之间的文本将在页面显示时出现在Web浏览器的标题栏中。浏览器将根据HTML文档中的标记决定如何显示Web页。它会忽略HTML文档中的格式,如回车符、空格和空行。文档中行的缩进只是为了便于人们阅读,与它的最终显示方式无关。浏览器会考虑浏览器窗口的宽度和高度。在调整浏览器窗口的大小后,Web页的内容会被重新格式化,以适应新的窗口大小。
段落标记(<p>...</p>)说明了应该将其中的文本作为单独的段落处理。在大多数浏览器中,结束标记</P>不是必需的,不过为了清楚起见,我们使用它。浏览器通常会用新的一行开始新段落 ,而且段落前后还有空行,以便与其前后的段落分隔开。
居中标记(<CENTER>...</CENTER>)说明其中的信息应该在浏览器窗口中居中显示。
元素B、I和U分别说明了封装的文本应该用粗体、斜体显示或加下划线。这些元素可以嵌套,从而同时生成多种效果,不过并非所有标记都能嵌套。
标记<HR>将在页面中插入一条水平线,通常用于把Web页分割成几个部分。
我们通常需要显示项目列表。UL元素表示无序列表,L1元素表示一个列表项。在Student Dynamics这个示例中,标记<UL>...</UL>封装了三个列表项。大多数浏览器都采用项目符号显示无序列表。如果使用有序列表元素(OL),那么列表项将被顺序编号。无序列表和有序列表都可以嵌套,从而创建列表分层。无序嵌套列表的每一层使用的项 目符号都不同。有序嵌套列表的每层都会重新开始编号。
定义文档标题的元素有几种。在HTML中,有6种预定的标题元素,即H1、H2、H3、H4、H5和H6。例如,封装在标记<H3>...</H3>中的文本将被当作3级标题,用比4级标题大、比2级标题小的字号显示。标题标记并非一定要用于设置标题文本,任何想改变字体大小的地方都可以使用它们。
属性的形式如下:
???????????属性名=值
例如,可以用IMG元素把图像嵌人Web页,IMG 元素的属性可以标识要显示的图像文件。属性名是SRC,表示图像的来源。IMG元素没有结束标记。例如:
<IMG SRC = "myPicture.gif">
这个标记将把图像myPicture.gif插入HTML文档。IMG和SRC之间至少要有一个空格。
在HTML中,链接是用元素A声明的,A表示锚( anchor)。该标记的属性HREF指定了目标文档的URL。例如:
<A HREF?= "http://duke.csc.villanova.edu/docs/">
Documentation Central! </A>
这个标记将在屏幕上显示文本Documentation Central!,通常这个文本是蓝色的,而且具有下划线。当用户用鼠标点击这个链接时,地址为duke.csc.villanova.edu/docs的Web页将被读取并显示在浏览器中,代替当前的Web页。
注意,文件名和URL都封装在引号中 。
包括:新标准简化了以前版本中对许多问题的处理。有许多新的标记可用来表示内容,包括:
HTML5的另一个令人兴奋的方面是它的动态变化的页面内容在用户不与页面进行交互的时候仍然可以被改变。一些动态技术将在本章的后续部分讨论,尽管随着时间的推移HTML5可能使其中的某些部分不再必要。
支持HTML5动态内容的一个例子是使用上下文菜单呈现下拉菜单的想法。还有一个额外的属性(异步)可以被包含在一个标记中以表明显示的内容应该是通过异步加载的,这将有助于提高网页加载的速度。
HTML5中还包括几个接受来自表单的输入的新标记,用来处理时间和日期的标记,以及用于范围、邮件地址和URL的表单域的标记。
为满足用户强烈要求动态的Web的请求,新的技术产生了。选择其中两种看看——Java小程序和Java服务器页。
Java小程序是用APPLET标记嵌人HTML文档的。例如:
<APPLET?code="MyApplet.class" width=250 height=160>
</APPLET>
当Web用户引用了包含这个标记的页面时,小程序MyApplet.class将随其他文本、图像等页面包含的数据被一起发送。浏览器知道如何处理每种类型的数据:它将正确地格式化文本,根据需要显示图像。对于小程序,浏览器内置有能够执行小程序的解释器,使得用户能够与之进行交互。Web. 上有成千上万个Java小程序,大多数浏览器都能够执行它们。
Java小程序给客户的机器增加了负担。也就是说,Web用户把这些程序带到了自己的机器上,在此执行它们。想起来有些可怕,当你正在网上冲浪的时候,突然某人的程序在你的计算机上运行起来。除非Java小程序只做自己分内的事情,否则这样会带来问题。Java语言具有仔细规划的安全模式。例如,Java 小程序不能访问任何本地文件,也不能修改系统设置。
客户的计算机也许能胜任运行小程序的工作,也许不能,这是由小程序的特性决定的。由于这种原因以及小程序是通过网络传输的,所以它们一般都比较小。虽然适用于某些情况,但Java小程序不能完全满足Web用户的交互需求。
Java服务器页(Java ServerPage, JSP) 是嵌入了JSP 小脚本的Web页。所谓小脚本,就是与常规的HTML内容混合在一起的 一小段可执行代码。虽然与Java不完全一样,但JSP代码很像一般的Java程序设计语言。
JSP小脚本封装在特殊标记<%和%>之间。预定义的特殊对象可以简化某些处理。例如,可以用对象out生成输出,该输出将被融合到Web页中小脚本出现的地方。下面的小脚本将在H3的起始标记和结束标记之间生成短语hellothere。
<H3>
<%
out.println ("he11o there");
%>
</H3>
这个例子的结果等价于下面的代码:
<H3>hello there</H3>
不过可以认为JSP小脚本具有完整程序设计语言的强大功能。我们几乎可以利用常规Java程序的各个方面,如变量、条件(从句)、循环和对象。具备了这种处理能力,JSP 页就可以进行重要的决策,生成真正动态的结果。
JSP是在Web页驻留的服务器上运行的。服务器能够在把Web页发送给用户之前动态地决定它的内容。当Web页到达你的计算机时,所有处理都已经完成,生成了(动态创建的)静态的Web页。
JSP尤其适合协调Web页和底层数据库之间的交互。
HTML是固定的,也就是说,HTML有预定义的一套标记,每个标记具有自己的语义(含义)。HTML指定了如何格式化Web页中的信息,但是没有说明这些信息表示什么。例如,HTML会说明段文本的格式是标题, 但不会说明这条标题描述的是什么。HTML标记不能描述文档的真正内容。可扩展标记语言(XML)允许文档的创建者定义自己的标记集合,从而描述文档的内容。
XML是一种元语言。单词metalanguage (元语言)是由单词language (语言)加前缀meta构成的,meta 的意思是“在......之外的”或“更复杂的”。元语言通过使我们精确地运用常规语言而超出常规语言,是谈论或定义其他语言的语言,就像描述英语规则的英语语法书。
Tim Berners-Lee使用称作标准通用标记语言(SGML)的元语言来定义HTML。XML是SGML的简化版本,用于定义其他标记语言。XML把Web带入了一个新的发展方向。不过XML并没有取代HTML.而是使它更丰富。
与HTML一样,XML文档也是由标记数据构成的。不过在编写XML文档时,不必拘泥于预定义的标记集合,因为根本不存在这样的集合。你可以创建任何描述文档中数据所必需的标记。XML文档的重点不在于如何格式化数据,而在于数据是什么。
特定XML文档的结构是由它对应的DTD文档描述的。DTD文档的内容不只是定义标记,还说明它们是如何嵌套的。
这组标记中唯具有 属性的是price标记。DTD文档的最后 行说明了price标记具有一个属性 currency,而且是必需的。
XML提供了组织数据的标准格式,与其他特殊类型的输出无关。一 种相关的技术叫作可扩展样式表语言( XSL),可以把XML文档转换成适用于特定用户的格式。例如,可以定义一个XSL文档,把一个XML文档转换成HTML文档,以便能在Web上看到该文档。还可以定义另一个XSL文档,把同一个XML文档转换成Microsoft Word文档,或转换成适用于移动电话的格式,甚至可以转换成语音合成器使用的格式。
用XML规定的语言还有一个方便的特征,即用这种语言编写的文档可以轻松地自动生成。有种软件系统(通常具有底层数据库)可以用来生成大量易于在线传输和分析的数据。一旦生成了,这些数据就能被转换成最适合每个用户浏览的格式。
有些组织为特定的主题开发了专用的XML语言。例如,化学家和化学工程师定义了化学标记语言( CML)以标准化分子数据的格式。CML包含大量有关化学方面的标记,给化学专业人员提供了共享和分析数据的通用格式。
记住,XML 是标记规约语言 ,XML文件 则是数据 。除非你运行显示XML文件的程序(如浏览器),或者运行用它们进行操作的程序(如把数据转换成另一种格式的转换器或读取数据的数据库),或者运行修改它们的程序(如编辑器),否则什么都不会发生。XML和相关技术为信息管理和以各种方式在Web上有效地进行信息通信提供了强有力的机制。随着这些技术的发展,利用它们的新机会将不断出现。