第1章 Web技术基础1.docx
《第1章 Web技术基础1.docx》由会员分享,可在线阅读,更多相关《第1章 Web技术基础1.docx(43页珍藏版)》请在冰豆网上搜索。
第1章Web技术基础1
第一章Web技术基础
(1)
今天,互联网已经成为使用最广泛的传播媒体,它正在改变着人们的工作、生活和娱乐方式。
通过Internet,人们可以收发电子邮件,进行网上学习、网上购物,开展网上讨论、网上聊天、网络游戏、观看网上电视等各种活动。
人们还可以在网上发布信息、检索信息、开展商务活动等。
随着网络带宽的不断提高,网络基础设施的进一步完善,联网主机和互联网用户正在以惊人的速度增长。
Internet就像空气一样正在渗入到我们生活的每一个角落。
本章将简要介绍Web(web本意是蜘蛛网和网的意思。
现广泛译作网络、互联网等技术领域)的有关概念、相关技术以及Web的发展趋势。
1.1Internet与万维网
⏹Internet的产生
●阿帕网(ARPANet),萌芽
与人们的想象相反,Internet并非某一完美计划的结果。
从某种意义上讲,Internet可以说是冷战产物。
冷战时期,美国军方认为:
如果仅有一个集中的军事指挥中心,万一它被苏联的核武器摧毁,后果不堪设想。
因此,有必要设计这样一个分散的指挥系统:
它由一个个分散指挥点组成,当部分指挥点被摧毁,其它点仍能正常工作。
而这些分散点又能通过某种形式的通讯网取得联系。
为对这一构思进行验证,从60年代~70年代初,由美国国防部资助,一个ADVANCEDRESEARCHPROJECTSAGENCY的机构承建,通过一个名为ARPANet的网络把美国几个军事及研究用的计算机主机连接起来,这就是Internet最早的形态。
◆Internet是一个没有中央控制节点的计算机网络,1969
◆TCP/IP协议研究成功,使得计算机互联的主要障碍被解决。
1974
协议—通信协议,通信双方在通信时所使用的约定。
Internet中使用的一个关键协议是网与网之间的协议——网际协议IP,IP详细规定了计算机在通信时应遵循的规则的全部具体细节。
Internet的另一个重要协议是TCP,其主要作用是使Internet可靠工作。
Internet面世之初,没人想到它会进入千家万户,它会用于商业。
它的创始人也决不会想到它能发展成目前的规模和影响。
由于参加试验的人全是计算机通。
因此没有人在Internet的界面及操作上花心思。
●互联网的诞生
◆ARPANet被分成两部分,一部分作为军用,称为MILnet。
另一部分作为民用,ARPANet开始从一个实验型网络向实用型网络转变,从而成为全球Internet正式诞生的标志。
1982
⏹发展阶段
●Internet的提出、研究和试验阶段,1969~1984
●Internet的实用发展阶段,1984~1992
Internet第一次快速发展出现在80年代中期。
当时美国国家科学基金为鼓励大学、研究机构共享他们非常昂贵的四台计算机,希望通过网络将各大学、研究所的计算机与这四台计算机连接起来。
开始,想利用现成的ARPANet,但最终发现,与美国军方打交道非常麻烦。
于是,他们就利用ARPANet发展起来的叫做TCP/IP的通讯协议,自己出资建立名为NSFnet的广域网。
由于该基金的鼓励和资助,很多大学、政府资助的研究机构甚至私营研究机构纷纷把自己的局域网并入NSFnet中。
90年代初,Internet事实上已成为一个“网中网”,各子网分别负责自己网的架设和运作费用,而这些子网又通过NSFnet互连起来。
因此到90年代初,Internet最大的老板还是美国政府,不过在一定程度上加入了一些私人小老板。
●商业化发展阶段,1992~2003
Internet历史上第二次飞跃归功于Internet的商业化。
90年代以前,Internet的使用一直仅限于研究与学术领域。
商业性机构进入Internet一直受到法规和传统的困扰。
美国国家科学基金限制人们把他们用纳税人的钱建造起来的网络用于商业。
但这类规定有许多模糊的地方。
如企业研究人员向大学的研究伙伴通过Internet发一份新产品介绍,以帮助该伙伴掌握该领域最新动向。
这一行为很难说是属于学术交流还是商业广告。
尽管如此,美国企业很少有人敢“以身试法”。
幸好90年代初,Internet已不是全部由政府出钱。
有一些私人老板可以在一定程度上绕开由美国国家科学基金出钱的Internet主干网络NSFnet,向客户提供Internet联网服务。
他们在91年组成了“商用Internet协会”,并宣布客户可以把他们的Internet子网用于任何的商业用途。
商业机构一踏入Internet,很快就发现它在通讯、资料检索、客户服务等方面的巨大潜力。
于是,其势一发不可收拾。
Internet的历史沿革造就了当前Internet有几万个子网通过自愿原则互连起来。
没有一家公司叫Internet公司,也没有任何机构完全拥有Internet,从某种意义上,这几万个子网的所有者都是Internet的老板。
●Web2.0,2003以后
◆用户参与。
如:
论坛,博客。
留住客户,信息消费到信息制造。
1.2Web概述
本节的主要内容:
⏹什么是Web?
⏹Web的工作原理
⏹浏览器
Internet上有一种资源的增长速度数十倍于Internet的整体增长速度。
这种资源就是WorldWideWeb,被人称作万维网,全球蜘蛛网等。
简写为:
WWW或W3或Web。
●Web通过超级文本向用户提供全方位的多媒体信息,从而为全世界的Internet用户提供了一种获取信息、共享资源的革命性途径。
Web起源于欧洲粒子物理实验室CERN,该机构由欧洲高能物理研究人员组成。
由欧洲共同体国家联合资助。
也是全世界合作从事复杂的物理学、工程学和信息工程学研究的物理学家聚会地,位于日内瓦附近瑞士和法国的交界。
1989年,CERN的物理学家TimBernerslee(蒂姆·伯纳斯-李)提出一个建议:
建立一种网络系统用于高能物理学家传递他们的想法与研究成果。
因为这些专家分布于世界各地,因此必须为他们提供一种有效的通信手段。
基于这一考虑,建议定义一种单一的协议,使用超级文本在计算机之间进行文档传输。
Web刚问世时,并没有考虑图像、声音等多媒体信息的传输。
1990年底,第一套Web软件开发成功。
1991年底CERN向高能物理学界宣布了Web服务。
1.2.1什么是Web
在Web出现之前,Internet还有点像“阳春白雪”,只由少数计算机专业人员使用。
而Web的出现,使得Internet变得雅俗共赏。
使在Internet上查询资料变得像看电视一样。
没有计算机基础的普通人也可以使用Internet了。
⏹什么是Web?
Web是Internet中的一个重要组成部分。
Internet是一个将全球所有计算机网络和单个计算机连接起来所形成的巨大信息网络。
●互联网={所有上网的主机}
◆各种服务器,如:
Web服务器、FTP服务器、Email服务器、NNTP服务器和应用服务器etc。
◆客户机
Web是一个由遍及全球的文档(Web服务器)所组成的系统。
这些文档不仅可以是文本,还可以是图像、声音等。
因此也可以称Web为超媒体。
●WWW={Web服务器,Web客户机}
⏹Web服务器
●就是将本地信息用超文本组织,向用户提供在Internet上进行信息浏览服务的计算机。
◆网络操作系统
◆Web服务组件,如Apache/Tomcat,IIS
⏹Web客户机
●Web浏览器,如IE,Maxthon(傲游),Firefox(火狐狸)
Web的多媒体功能是其受欢迎的原因之一,但最主要的原因还是它所采用的把文档链接在一起的方式。
这样,如果想阅读一本书,书中又提到另一本书,该书名下方有一条下划线,当鼠标指向该处时就变成一只小手,只要用鼠标一点,系统就立刻将这本书的内容传到你的屏幕上。
Web就是通过这种超文本的能力把全世界的所有文档都链接在一起。
1.2.2Web的工作原理
Web与和Internet其它服务一样,也是采用客户/服务器结构。
该结构是分布式网络普遍采用的一种技术,了解C/S结构的基本概念及在Internet中的灵活应用是重要的。
众所周知,网络的一种基本用法是允许资源共享。
在许多时间里,这种共享是通过两个独立程序来完成,分别运行在不同的计算机上。
一个程序称为服务器程序(简称:
服务器),提供特定的资源;另一个程序称为客户程序(简称:
客户),用来使用资源。
例如,用户在自己的PC上运行一个字处理程序,要编辑网络上其它计算机上存放的一个文件,则该程序向那台计算机发送一条消息,请求传送该文件。
这种情况下,字处理程序就是客户;而接受请求并发送文件的程序就是服务器。
Web服务器的作用是整理、储存各种Web资源,并响应客户端请求,把客户所需的资源传送到客户端。
目前,Web服务器软件可以运行在包括DOS、Windows等在内的不同计算机平台上。
因此,只要你拥有一台计算机,又与Internet长期联网,就很容易在Internet上建立Web服务器。
不过就目前情况讲,功能强大的Web服务器都是运行在WindowsNT或UNIX平台(指计算机硬件或软件的操作环境)上。
使用Web时,你所看到的文件叫做:
⏹超级文本文件
●超文本是一个包含有与其他文本链接的文本。
这种特性使你很容易从你正在阅读的文本进入另一个有关的文本。
这种与其他文本的链接就叫做:
⏹超级链接
●根据所使用的显示器类型,超级链接可以用不同的形式表示。
如果是彩显,超级链接可能是某一特殊的颜色。
如果是单显,超级链接可能被标一条下划线。
与某个超级链接相对应的可能是一段文字,一幅图像或另一个超级文本。
只要激活超级链接,它所对应的内容即可在屏幕上显示出来。
这个被链接的文本有可能和你正在阅读的文件在同一台计算机里,也可能远在地球的另一边。
除文本之外,你所接收的文件里包含有图片、声音或动画,这种不仅仅只包含文本的文件称为:
⏹超级媒体文件
当从Web服务器取到一个文件后,你需要在你的屏幕上将它正确显示出来。
但由于将文件放入Web服务器的人并不知道阅读这个文件的人会使用那种类型的计算机。
要保证每个人在屏幕上都能读到正确的文件,必须以某种各类型的计算机都能“看懂”的方式来描述该文件。
于是就产生了HTML。
⏹超文本标识语言
●它是用来编制需要通过Web显示的文件。
HTML是用一组简单命令来描述当Web浏览器在显示文本时应当对文本做怎样的处理,这些命令允许你定义文件各个部分的具体显示方式,不同的浏览器在“读”到这些定义后,能以最适合你的显示器的形式把文件内容显示出来。
在Web中,通过HTTP协议实现客户端和Web服务器的信息交换。
Web的基本工作原理如下图:
(1)在浏览器地址栏中,用户输入要访问的网页网址URL
(1)Web服务器根据URL中指定的网址、路径和网页文件,调出相应的HTML、XML文档或Jsp、Asp文件
(2)根据文档类型,Web服务器决定是否执行文档中的服务器脚本程序,还是直接将网页文件传送到客户端。
(3)浏览器显示下载的文档,即网页。
1.2.3Web浏览器
浏览器——Web客户端程序。
用户要浏览Web页面必须在本地计算机上安装浏览器软件。
通过在浏览器地址栏中输入URL资源地址,将指定Web服务器中特定的网页文件下载到客户端计算机,并在浏览器打开。
从本质上讲:
浏览器是一种特定的文档阅读器。
它能根据网页内容,对网页中的各种标记进行解释显示。
即:
⏹HTML或XML文档阅读器
●符合HTML规范,标记
此外,浏览器又是一种程序解释机,如果网页中包含客户端脚本程序,浏览器将执行这些客户端脚本代码,从而增强网页的交互性和动态效果。
⏹脚本程序解释机
●内置脚本程序引擎,解释执行客户端脚本程序
脚本是批处理文件的延伸,是一种纯文本保存的程序。
它可以不经编译而是解释执行。
为了便于脚本编程,每个浏览器程序本身也提供了相应的浏览器内置对象,类似于传统开发软件中的标准函数。
⏹Web浏览器产品
●IE,Maxthon(傲游),Firefox(火狐狸),Opera等。
1.3概念及术语
Web中的概念、术语现在已经大众化了,下面从计算机专业角度对Web中的一些常用概念进行简要介绍。
⏹网站(WebSite)
●概念
◆网站又称Web站点,是Internet中提供信息服务的机构,这些机构的计算机连接到Internet中,向用户提供Web服务。
●技术
◆一个Web站点是由一个主目录和主目录下的文件夹和大量的网页文件构成的,这些网页文件通过超链接连接在一起,形成特定的应用逻辑,构成一个特定的Web应用。
◆网站又成为Web应用(WebApplication),基于B/S(浏览器/服务器)架构(人们对一个结构内的元素及元素间关系的一种主观映射的产物)的计算机软件。
⏹超文本(Hypertext)
●超文本是一种文本显示与连接技术,可以对文本中的有关词汇或句子建立链接(即超链接),使其指向其他段落、文本或链接到其他文档。
●超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。
◆当超文本显示时,建立了链接的文本、图片通常以下划线、高亮等不同的方式显示,来表明这些文本或图片对应一个超链接。
⏹超级链接(Hyperlink)
●Web页中,当用户单击它时可以转到其他Web页或当前页面的其他地方的文字、图片等对象。
⏹Web页(Webpage)
●是指Web服务器上的一个个超文本文件,或者是它们在浏览器上的显示屏幕。
⏹主页(Homepage)
●用户在Web服务器上看到的第一个Web页。
●首页中往往列出了网站的信息目录,或指向其他站点的超链接,主页是一个网站的入口。
⏹统一资源定位符URL(UniformResourceLocator)
也被称为网页地址,是因特网上标准的资源的地址。
是在Internet中寻找资源,获取文件以及在网络新闻组中与全球各行业专家交流所必不可少的。
不知道URL就好像在公路上驾驶汽车而看不懂交通标志一样,无法到达你所希望取得地方。
URL的一般形式为:
●信息资源类型:
//网址:
端口号/文件路径/文件名?
参数表
◆信息资源类型:
是正在查找的资源类型的定义。
主要包括http(web系统的页面)、ftp(远程FTP主机上一个文件或目录)等。
◆网址:
服务器的域名或IP地址。
◆端口号:
对应一个特定的服务,可以省略。
如Web服务的默认端口号为80,Ftp服务的默认端口号为21等。
◆文件路径:
网页相对于主目录的相对路径。
◆文件名:
指定要下载的文件。
◆参数表:
若有参数,文件名后跟?
,再列出参数名及实际参数值。
⏹端口(port)
●特指TCP/IP协议中的端口,是逻辑意义上的端口。
◆如果把IP地址比作一间房子,端口就是出入这间房子的门。
真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:
256×256)个之多。
◆端口是通过端口号来标记的,端口号范围是从0到65535(256×256)。
在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址进行传递。
把数据包顺利的传送到目的主机。
但大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?
端口机制便由此被引入进来。
本地操作系统会给那些有需求的进程分配协议端口(protocolport,即我们常说的端口),每个协议端口由一个正整数标识,如:
80,139,445,等等。
当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。
不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利的回传数据包到这个端口。
总而言之,我们这里所说的端口,不是计算机硬件的I/O端口,而是软件形式上的概念。
●端口的分类
◆按协议类型划分:
端口可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等。
最常见端口类型为两种,一种是TCP端口,一种是UDP端口。
计算机之间相互通信的时候,分为两种方式:
一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式大多采用UDP协议。
对应这两种协议的服务提供的端口,也就是TCP端口和UDP端口。
◆按照端口号分布划分:
端口分为知名端口(Well-KnownPorts)和动态端口(DynamicPorts)两部分。
●知名端口
◆范围从0到1023,这些端口号一般固定分配给一些知名的公共服务。
◆21端口--FTP服务
◆25端口--SMTP服务
◆80端口--HTTP服务
◆135端口-RPC(远程过程调用)服务等
●动态端口
一般不固定分配某种服务,而是动态分配。
动态分配是指当一个系统进程或应用程序进程需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。
当这个进程关闭时,同时也就释放了所占用的端口号。
◆范围从1024到65535
⏹下载(Download)
将文件从Web服务器或Ftp服务器端传输到本地计算机的过程。
⏹上传(Upload)
通过Internet将文件从本地计算机传输到Web服务器或Ftp服务器端的过程。
1.4Web相关技术
随着Internet技术的发展,特别是Web的出现,对计算机的计算模式、软件开发模式、应用模式都产生重要影响,导致一系列相关技术的出现,并推动Web技术的发展。
本节的主要内容:
⏹计算模式的演变
⏹Java技术
⏹XML技术
1.4.1浏览器/服务器(B/S)计算模式
计算机应用系统中数据与应用(程序)分布方式成为计算机应用系统的计算模式。
⏹计算模式的演变
●集中式计算
●客户服务器(C/S)计算模式
●浏览器/服务器(B/S)计算模式
1集中式计算模式
计算机应用初期,计算所需的数据、程序都集中在一台计算机上,称为集中式计算。
随着网络的发展,这种集中式计算往往形成一种由大型机和多个终端组成的网络结构。
即集中式计算:
⏹构成
●由大型机和多个与之相连的终端组成的网络结构
20世纪60、70年代。
⏹优点
●集中式处理
●安全性好、可靠性高、计算能力和数据存储能力强以及系统维护和管理的费用较低。
⏹不足
●仅限于单向应用。
如劳资报表统计等。
●大型机的初始投资较大、可移植性差、资源利用率低以及网络负载大。
2客户/服务器(C/S)计算模式
随着微机和网络的发展,数据和应用逐渐转向分布式。
即数据和程序跨越多个节点机,形成新的计算模式——客户/服务器计算模式。
该模式是一种典型的两层计算模式,它将应用一分为二:
⏹构成
●两层结构(Client/Server,C/S)20世纪80年代流行
◆(前端)客户:
安装客户端软件
☐客户机完成与用户的交互任务,具有强壮的数据操纵和事务处理能力。
◆(后端)服务器:
安装服务器程序
☐服务器负责数据管理,提供数据库的查询和管理、大规模的计算等服务。
在C/S模式中,数据库服务是最主要的服务。
●计算机局域网。
⏹优点
●通过异种平台集成,能够协调现有的各种IT基础结构;分布式管理;能充分发挥客户端PC的处理能力,安全、稳定、速度快,且可脱机操作
⏹不足
●必须在客户端安装大量的应用程序(客户端软件),这样它才能访问数据库。
因此,开发成本较高。
应用程序分布在各个计算机上,移植困难。
用户界面风格不统一,使用繁杂,不利于推广使用,维护复杂,升级麻烦,信息内容和形式单一,新技术不能轻易应用。
●用户必须在局域网中,对90年代蓬勃发展的互联网新技术不能适应。
3浏览器/服务器(B/S)计算模式
是一种基于Web的协同计算,一种三层架构瘦客户机/服务器计算模式。
解决上述问题的方法是在传统C/S模式的基础上增加中间应用层。
●三层结构
◆客户端Web浏览器:
安装Web浏览器。
负责处理用户的输入和向用户的输出。
◆Web服务器:
有一台或多台Web服务器组成。
负责建立与数据库的连接,根据用户的请求访问数据库,并把结果返回客户端。
◆数据库服务器:
负责整个应用中的数据管理。
并响应数据处理请求。
●互联网
Web浏览器不存放任何应用程序,其运行代码可以从Web服务器下载到本地浏览器中执行。
⏹优点
●具有良好的开放性,利用单一的访问点,用户可以在任何地点使用系统;用户可以跨平台以相同的浏览器界面访问系统;因为在客户端只需要安装浏览器,基本上取消了客户端的维护工作,有效的减少了整个系统的运行和维护成本。
●跨越了局域网的限制,将应用分到互联网。
⏹不足
Web的出现前,计算机的应用模式经历了从单机应用到网络应用两个阶段。
Web的出现使得一种围绕Web服务的计算模式成为当前计算机应用的主流模式。
1.4.2Java技术
Java技术所具有多功能性、有效性、平台的可移植性以及安全性,使得它已成为网络计算领域最完美的技术。
今天,Java技术已经无处不在。
1.Java的出现
1991年,Sun计划开拓消费类电子产品市场,为电视、烤箱等开发一个分布式代码系统,目的是可以通过Internet与家电产品进行交互,以便对其进行控制。
该项目的负责人是JamesGosling,开始准备基于C++开发一个新语言,最后以太平洋上的一个小岛为名,把新的语言命名为Java。
⏹Java的出现
●Java技术是SunMicrosystems于1995年推出的一种极富创造力的计算平台。
●Java的出现是继HTML(超文本标识语言)后,互联网发展的第二个里程碑。
如今,物联网已被视为比互联网大30倍的产业,是下一个万亿级的信息技术产业——这是时代发展的趋势,更是全球产业发展的一个重要导向。
比如,物联网冰箱可以向人们深刻诠释物联网的功用价值——这样的冰箱可以通过网络连接,实现与超市和食品三方对话。
对食品的保质期、食物特征、产地等信息做出智能化的判断,对超市货架上的商品信息进行传输和整合,并及时将信息反馈给消费者,甚至还能够根据主人存取食物的习惯,制定合理的膳食方案。
Gosling所推出的Java并不局限于扩充语言机制本身,而更注重于语言所运行的软件硬件环境。
他要建立的是一个系统,该系统要运行在一个巨大的、分布的、异构的网络环境中,完成各种电子设备之间的通信与协同工作。
Gosling在设计中采用了虚机器码方式。
即Java语言编译后产生的是字节码,字节码运行在一个解释器上,每一个操作系统均由一个解释器。
这样Java就是一个平台无关语言。
保证了用户界面的良好的可移植性。
⏹Java技术的构成
●Java程序设计语言(狭义上)
●Java虚拟机(JavaVirtualMachine,JVM)
◆不同操作系统平台有不同的JVM
●JavaAPI(应用程序编程接口)
◆用于Java编程,各种JDK(Java开发工具包)
⏹Java的特点
●Java程序“编写一次,到处运行”
◆编译后生成字节码(.class文件),不是exe
◆class文件在JVM上运行,而不是在OS上
●完全面向对象
2.Java语言环境
1995年Sun推出了Java,但这只是一种语言,而要想开发复杂的应用程序,必须要有一个强大的开发库支持。
⏹JDK(JavaDevelopmentKit,Java开发工具包)
●Sun在1996年1月23日发布了JDK1.0
⏹JDK的构成(版本包括两部分)
●运行环境(即JRE)
◆核