第4章 Web应用基础_第1页
第4章 Web应用基础_第2页
第4章 Web应用基础_第3页
第4章 Web应用基础_第4页
第4章 Web应用基础_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章WebGIS的网络基础

张毅 北京大学遥感所Web技术IntroductiontoWebWeb的定义Web的特点Web的工作原理Web的起源和发展

Web基本知识超文本(HyperText)和Html统一资源定位器URL超文本传输协议HTTP浏览器、搜索引擎和Web服务器Web技术Web高级知识扩展客户端MIME插件JavaAppletJavaScript,VBScriptActiveX扩展服务器CGIServerAPIASP,JSPASP.NETIntroduction-Web的定义Web,全称为WorldWideWeb,缩写WWW,中文称万维网。简单地说,Web是一种体系结构,通过它可以访问遍布于因特网主机上的链接文档。Introduction-Web的定义简单地说。。。Web是因特网提供的一种服务。Web是存储在全世界因特网计算机中,数量巨大的文档的集合。Web上海量的信息是由彼此关联的文档组成的,这些文档称为网页(WebPage),它是一种超文本(Hypertext)信息,而使其链接在一起的是超链接(Hyperlink)。Web的内容保存在Web站点(WebSite)中,用户可通过浏览器(Browser)访问Web站点。Web以一些简单的方式连接全球范围的超媒体信息。Introduction-Web的特点Web是一种超文本信息系统。Web是图形化和易于导航的。Web与平台无关。Web是分布的。Web具有新闻性。Web是动态的、交互的。Introduction-Web的起源和发展Web是1989年在日内瓦的欧洲粒子物理实验室(CERN)首先提出来的。一位名叫TimBernersLee的物理学家为了让同行们能快速、实时地进行交流,特别是能让大家共享他们随时的实验进展报告。而萌发了建立文件连接网络的念头,于是web的概念就诞生了。Introduction-Web的起源和发展

1990年11月,第一个Web服务器nxoc01.cern.ch开始运行,TimBerners-Lee在自己编写的Web浏览器“WorldWideWeb”上看到了最早的Web页面。1991年,CERN(EuropeanParticlePhysicsLaboratory)正式发布了Web技术标准。Introduction-Web的起源和发展在1993年,伊利诺斯州立大学的超级计算应用国家中心发布了Mosaic,它是第一个图形浏览器。Mosaic浏览器使设计包含图形的文档成为了可能,网页由此诞生。之后,WWW开始爆炸性地增长。1994年,NetscapeNavigator1.1发布,并迅速代替了Mosaic,控制了浏览器市场,Netscape一度成为浏览器的代名词。Introduction-Web的起源和发展1994年W3C成立,与Web相关的各种技术标准都由W3C组织(WorldWideWebConsortium)管理和维护。

Web的基本知识-HyperText&html超文本(HyperText)是一种电子文档,其中的文字包含有可以链接到其他字段或者文档的超文本链接,允许从当前阅读位置直接切换到超文本链接所指向的文字。Web的基本知识-HyperText&html超文本通常使用超文本标记语言(HyperTextMarkupLanguage)书写。大多数网页都属于超文本。

网页制作软件记事本FrontPageEditPlusWeb的基本知识-URLURL是UniformResourceLocator的缩写,即统一资源定位,它是一个识别Internet中哪里有信息资源,并且将Internet提供的服务统一编址的系统。URL和文件名类似,但它还包括了服务器名和资源使用的网络协议种类的信息。有时,URL还包括用户名信息和协议指定的参数及选项。URL-格式URL格式<协议>://<用户>:<口令>@<主机>:<端口>/<路径>例如:/index.html:81ftp://cespku:cespku@3

//localhost/c$Web的基本知识-http超文本传输协议http是Web的核心,[RFC1945]和[RFC2616]中有它的定义。(HTTP-HypertextTransferProtocolOverview

)http协议由两部分程序实现:客户机程序和服务器程序,它们运行在不同的主机上,通过交换http报文进行会话。Web客户机(如浏览器)Web站点http-http的作用http协议定义了web客户机(如浏览器)是如何向Web站点请求Web页面以及服务器是如何将web页面传送给客户机的。客户机和服务器的交互过程:当用户请求一个Web页面(如点击一个超链接),浏览器向服务器发出对该页中所包含对象的http请求报文,服务器接收请求并用包含这些对象的http响应报文进行相应。http/1.0和http/1.1,它们都使用TCP作为运输协议。http-非持久连接和持久连接http协议支持非持久连接和持久连接。http/1.0协议使用非持久连接,一个TCP连接只传输一个web对象。假设在http/1.0协议下,从服务器向客户机传送Web页面的步骤。该页面含有一个html文件和10个jpeg图像,并且这11个对象位于同一个服务器上。该html文件的url为:/mypath/home.htmlhttp客户机初始化一个到服务器的TCP连接,使用http协议的默认端口80。http通过与1中建立的连接绑定的套接字向服务器发送一个http请求报文。请求报文中包含了路径/mypath/home.htmlhttp-非持久连接和持久连接http服务器通过套接字获取该请求报文,从存储设备中检索出对象/mypath/home.html,在http相应报文中封装该对象,并且通过套接字向客户机发送响应报文。http服务器确认客户机已经收到响应报文后断开该连接。http客户机收到相应报文。TCP关闭连接。报文指出封装的对象是html。客户机从响应报文中提取该文件,检查该文件,得到对10个jpeg图像的引用。对每个jpeg图像对象重复前5步。浏览器收到web页面后将该页面显示给用户。http只规定了http客户机程序和http服务器之间的通信协议。http-非持久连接和持久连接在持久连接的情况下,服务器在发送响应后保持该TCP连接,在相同的客户机与服务器之间的后续请求和响应报文通过相同的连接进行传送。持久连接有两种方式:非流水线方式(withoutpipelining)和流水线方式(withpipelining)。http/1.1默认方式下使用流水线的持久连接。http-http报文格式Http请求报文GET/webgis/index.htmhttp/1.1Host:Connection:closeUser-agent:Mozilla/4.0Accept-language:cnhttp请求报文的第一行叫做请求行,有3个字段:方法字段、URL字段和http协议版本字段。后续的行叫做首部行:首部字段名和值GET、POST、HEADhttp-请求报文格式空白行实体主体请求行首部行http-响应报文格式空白行实体主体请求行首部行Web的基本知识-浏览器Web浏览器是Internet资源浏览软件,它不仅可以显示多媒体的Web页面,还可以通过URL命令连接到不同的Internet服务器上获取信息。NCSAMosaicNetscapeNavigatorMicrosoftInternetExploreSunHotJavaWorldViewWeb的基本知识-Web检索工具使用浏览器直接浏览按照主题指南进行查询Yahoo利用搜索引擎Google百度搜索引擎一般由三部分组成巡视软件(robot,spider)数据库检索代理Web的基本知识-Web服务器Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。Web的主要功能是信息发布Web服务器-工作模式Web服务器的工作模式阻塞模式(Blockingmodel)多路复用模式(Multiplexingmodel)派生模式(Forkingmodel)进程池(Processpool)Web服务器-常用软件NCSAServer(httpd)NetscapeCommunicationsServerNetscapeEnterpriseServerApacheServerInternetinformationserver(服务器比较请参考)扩展web客户机-MIME助理应用程序MIME(MultipurposeInternetMailExtensions,多目的Internet邮件扩展)是创建用于电子邮件交换,网络文档,及企业网和Internet上的其他应用程序中的文件格式的规范。每个MIME格式包含一个MIME内容类型("MIMEtype")和指示存储在这个文件中的数据的子类型。MIME类型和子类型一般以类型/子类型的形式列出。例如,一个MPEG视频文件将会以"video/mpeg"的形式列出。MIME类型/子类型列表包括可接受的文件名扩展名。例如,列出一个MPEG文件的MIME信息的表格可能包含如下的一个MPEG条目:

video/mpeg

.mpe,.mpeg,.mpg

HelperApplication-工作原理 BrowserWebServerHTTPHelperApplicationHelperApplication-工作步骤例如,你可以将一个MPEG文件连接到一个网页上。当用户浏览这个网页单击这个MPEG文件连接时,当下载这个MPEG文件到这个浏览器显示时,WebServer和浏览器执行下面的事件序列:

连同这个文件,服务器将MIME类型和子类型(video/mpeg,video/mpe,或video/mpg)发送到这个浏览器。

如果对MPEGMIME格式的支持是固有的,这个浏览器就会显示这个文件。如果这浏览器不包含对MIME格式的固有支持,这个浏览器在它的MIME助理应用程序(MIMEhelperapplication)的数据库中查找这个文件名扩展名。然后,它或者选择相应的助理应用程序显示这个文件或者返回一个错误信息。扩展web客户机-插件为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,1996年的Netscape2.0成功地引入了对QuickTime插件的支持,插件这种开发方式也迅速风靡了浏览器的世界。

1999年,Realplayer插件先后在Netscape和IE浏览器中取得了成功,与此同时,Microsoft自己的媒体播放插件MediaPlayer也被预装到了各种Windows版本之中。1990年代初期,JonathanGay在FutureWave公司开发了一种名为FutureSplashAnimator的二维矢量动画展示工具,1996年,Macromedia公司收购了FutureWave,并将JonathanGay的发明改名为我们熟悉的Flash。插件-工作原理BrowserWebServerHTTPApplicationExtensionPlugin插件-embed元素<p><spanlang="zh-cn">这是一个FLASH插件</span></p><p><objectclassid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000"id="obj1"codebase="/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"border="0"width="641"height="633"> <paramname="movie"value="end.swf"> <paramname="quality"value="High"> <embedsrc="end.swf"pluginspage="/go/getflashplayer"type="application/x-shockwave-flash"name="obj1"width="641"height="633"></object></p>插件-常用插件插件有三种工作工作模式:嵌入、全屏幕和隐藏。扩展web客户机-ActiveX在Windows平台上,Microsoft将客户端应用集成的赌注押到了1990年代中期刚刚问世的COM和ActiveX身上。

1996年,IE3.0正式支持在HTML页面中插入ActiveX控件的功能,这为其他厂商扩展Web客户端的信息展现方式开辟了一条自由之路。从1997年的IE4.0开始,Microsoft为开发者提供了WebBrowser控件和其他相关的COM接口,允许程序员在自己的程序中直接嵌入浏览器窗口,或调用各种浏览器的功能,如分析或编辑HTML页面等。ActiveX-工作原理BrowserWebServerHTTPApplicationExtensionActiveXActiveX-object元素<objectclassid="clsid:8E27C92B-1264-101C-8A2F-040224009C02"id="Calendar1"width="357"height="237"> <paramname="BackColor"value="-2147483633"> <paramname="Year"value="2005"> <paramname="Month"value="3"> <paramname="Day"value="25"> <paramname="DayLength"value="1"> <paramname="MonthLength"value="1"> <paramname="DayFontColor"value="0"> <paramname="FirstDay"value="7"> <paramname="GridCellEffect"value="1"> <paramname="GridFontColor"value="10485760"> <paramname="GridLinesColor"value="-2147483632"> <paramname="ShowDateSelectors"value="-1"> <paramname="ShowDays"value="-1"> <paramname="ShowHorizontalGrid"value="-1"> <paramname="ShowTitle"value="-1"> <paramname="ShowVerticalGrid"value="-1"> <paramname="TitleFontColor"value="10485760"> <paramname="ValueIsNull"value="0"></object>扩展web客户机-JavaAppletJava的起源但更大的变革来源于Java语言的问世。Java语言天生就具备的平台无关的特点,让人们一下子找到了在浏览器中开发动态应用的捷径。1991年,SUNMicroSystem公司的JameGosling、BillJoe等人,为在电视、控制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件.

1994年下半年,Internet的迅猛发展,环球信息网WWW的快速增长,促进了Java语言研制的进展,使得它逐渐成为Internet上受欢迎的开发与编程语言JAVA-Java的历史1996年,著名的Netscape浏览器在其2.0版中增加了对JavaApplet和JavaScript的支持。Netscape的冤家对头,Microsoft的IE3.0也在这一年开始支持Java技术。现在,喜欢动画、喜欢交互操作、喜欢客户端应用的开发人员可以用Java语言随心所欲地丰富HTML页面的功能了。JAVA-Java的特点(1)简单的语言。(2)面向对象的语言(3)平台无关性(虚拟机结构中立)JAVA-Java的特点(4)多线程.多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。(5)健壮性(6)分布性Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。(7)可移植性(8)解释性(9)安全用于网络、分布环境下的Java必须要防止病毒的入侵。(10)高性能(11)动态JAVA-Java应用前景1所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等;2计算过程的可视化、可操作化的软件的开发;3动态画面的设计,包括图形图像的调用;4交互操作的设计(选择交互、定向交互、控制流程等);5Internet的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等;6Intranet(企业内部网)上的软件开发(直接面向企业内部用户的软件);7与各类数据库连接查询的SQL语句实现;8其它应用类型的程序。JAVA-Java应用种类JavaScriptJavaApplicationJavaAppletJSPJavaServletJavaBeans1小应用程序2有一个类必须是applet的子类3用于WWW动态页面的开发4在HTML文档中用<applet>标记指明class文件名JavaApplet-工作原理BrowserWebServerHTTPApplicationExtensionJavaAppletJavaApplet-JavaApplet元素

<appletcode=Animator.classwidth=460height=160> <paramname=imagesourcevalue="images/Beans"> <paramname=backgroundcolorvalue="0xc0c0c0"> <paramname=endimagevalue=10> <paramname=soundsourcevalue="audio"> <paramname=soundtrackvalue=spacemusic.au> <paramname=soundsvalue="1.au|2.au|3.au|4.au|5.au|6.au|7.au|8.au|9.au|0.au"> <paramname=pausevalue=200>alt="Yourbrowserunderstandsthe<APPLET>tagbutisn'trunningtheapplet,forsomereason."Yourbrowseriscompletelyignoringthe<APPLET>tag!</applet>扩展web客户机-JavaScript,VBScriptJavaScript语言在所有客户端开发技术中占有非常独特的地位:它是一种以脚本方式运行的,简化了的Java语言,这也是脚本技术第一次在Web世界里崭露头角。为了用纯Microsoft的技术与JavaScript抗衡,Microsoft还为1996年的IE3.0设计了另一种后来也声名显赫的脚本语言--VBScript语言。

JavaScript,VBScript-工作原理BrowserWebServerHTTPApplicationExtensionJavaScript扩展web服务器-CGICGI的定义CGI(CommonGatewayInterface通用网关接口)是定义标准数据结构和方法的规范,是外部应用程序与Web服务器之间的接口标准。CGI的功能绝大多数的CGI程序被用来解释处理传自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。

CGI-工作模式BrowserWebServerHTTPApplicationExtensionCGIPerlC/C++VisualBasicShellScript.tw/cgi-bin/x_list?BOARD=tw.bbs.soc.politics.tw/cgi-bin/x_list?BOARD=tw.bbs.soc.politics&DISPLEN=15&NO=30&SORTBY=0&VAL=184975648&PAGE=2例:在浏览器上显示用户输入的用户名和年龄/*nameage.cgi.c*/#include<stdio.h>#include“cgi-lib.h”intmain(){ listinput; read_cgi_input(&input); printf(“Content-Type:text/html\r\n\r\n”); printf(“<html><head>\n”); printf(“<title>姓名和年龄</title>\n”); printf(“</head>”); printf(“<body>”); printf(“您好”,%s!您今年\n”,cgi_val(input,“name”)); printf(“%s岁!<p>\n”,cgi_val(input,”age”)); printf(“</body></html>\n”);}CGI-CGI处理步骤通过Internet把用户请求送到服务器。服务器接收用户请求并交给CGI程序处理。CGI程序把处理结果传送给服务器。服务器把结果送回到用户。WebBrowserWebServerC/PerlProgramName=SanaName=SanaHello,Sana!Hello,Sana!CGI-CGI的特点优点: CGI提供了一种独立于平台、独立于各种Web服务器、独立于各种编程语言的,简明的、标准的动态Web页面开发办法。缺点: 性能问题,为了创建进程以及连接状态等等,要消耗掉大量的资源。 CGI接口根本谈不上“面向对象”等等高级编程技术,它是一种非常底层的API,开发困难。 如何在多次请求之间维护状态信息、Transaction、开发更强的动态交互的Web站点等等,用CGI实现起来都是非常的困难,甚至是根本不可能实现的扩展web服务器-服务器APIServerAPI应用程序是Web服务器应用程序的扩展,它的基本思想是基于动态链接库(DLL),使得服务器程序运行速度提高并且减轻了系统的负载。从而改进了CGI技术,消除了启动和关闭每一个单独应用程序所需的开销,改善了Web服务的响应性能。常见的ServerAPI有Netscape的NSAPI和Microsoft的ISAPI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论