




免费预览已结束,剩余65页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Web基本工作原理,参考书:WebServerTechnology,NancyJ.Yeager,MorganKaufmannPublishers,1996,2,Web是Internet发展的产物,Internet-现代Internet=Web继承:TCP/IP,MIME,Hypertext,发展:HTTP,HTML,URL(TimBerners-Lee)(为方便起见,本讲区别Internet和Web),3,什么是Internet?(如何界定Internet包含的所有计算机),所有在DNS中有登记的计算机的集合?所有具有IP地址的计算机的集合?(internetvsInternet)“公理”:总可以找到一台在Internet上的计算机那么,Internet即为从任何一台已在Internet中的计算机可以用IP地址ping到的所有计算机的集合.拨号上网的计算机算不算?,4,什么是Web?,运行在Internet之上的所有HTTP服务器软件和它们所管理的对象(及其作用)的集合不算浏览器软件?!对象:Webpage/Webdocument,程序webdocument:multimedia/active,含有hyperlinks/anchors程序,动态生成webdocument.(dynamicdocument不同于activedocument),5,WebDocument,multimedia:多种数据类型共存于一个文档中,text,image,sound,movie,.含有anchor/hyperlinks,形成hypertext:“ameshofdocumentstiedbyhyperlinks”.hypermedia:hypertext+multimediaactivewebpages:含有在浏览器方可以执行的程序,Javaapplet,JavaScript,6,Hypertext,通过“anchor”实现非线性文档PekingUniversity1945年VannevarBush提出概念1960年DouglasEngelbart做出一系统(当时并没有Internet)Web是Hypertext在Internet上的应用.,7,Web文档的分类(生成时间),静态文档动态文档活动文档,8,Web多媒体文档在浏览器方的展现,浏览器事先对文档的内容一无所知,为什么能够将它显示成如文档编写者所设计的样子?可能的做法之一:让文档的编写者在文档头部给出描述.Web的设计比这稍微进了一步:Web服务器根据文件的扩展名来给出文档类型的宏观描述,这种描述借用了MIME标准.,9,MIMEMultipurposeInternetMailExtension,一个开放的多语言、多媒体电子邮件标准,规定了不同数据类型的名字.Web仅用到它的一个子集IANA(InternetAssignedNumbersAuthority)负责不同类型电子邮件规范的注册登记基本形式:,Type/subtype,text,message,image,audio,video,application,extensions,10,文件的扩展名和MIME类型的对应(例),.htmlHTML文本,text/html.txt纯文本.psPostScript.raRealAudio格式的语音.gifGIF图像,image/gif.jpegJPEG图像.mpegMPEG视频.wrlVRML三维场景.classJavaapplet,这不是全部,还有许多!,11,服务器通常支持这种对应关系的设置,例如html,htm都可以是text/html设置通常在服务器的配置文件中,12,Web是“站”在TCP/IP之上的,13,Web是TCP/IP上的一个应用,从TCP/IP来看,WEB(HTTP)和TELNET,FTP,GOPHER,WAIS等没什么区别MAC地址,IP地址,服务地址(portnumber).Web的缺省服务地址是80.服务地址可以设置,于是我们可能有时看到:8800/之类.什么叫一次TCP/IP连接?,14,Web(新)技术的三个方面(1),(这里的“新”指的是web从无到有的“enablingtechnology”,即TimBerners-Lee的最初贡献)URL,UniformResourceLocator.Web信息的寻址系统(addresssystem).借用了DNS,DomainNameService,的mapping功能-15协助HTTP将各种信息服务统一在浏览器中15-15:port,15,URL-Web(新)技术的三个方面(1),格式::指所用的URL方案名意义的解释与所用方案有关。mailto:wangsq,16,HTTP,HyperTextTransferProtocol,“Thelinguafranca”ofWebbrowsersandservers.请求/响应(request-response)工作方式利用TCP/IP实现浏览器和服务器之间的连接为社么常听人们说“HTTP是无连接的协议”?(connectionless)还有说“HTTP是无状态的”?(stateless),Web(新)技术的三个方面(2),17,HTML,HyperTextMarkupLanguage,网页编写语言,向浏览器提供Webdocument的“排版”信息和hypermedia文档的链接关系。它使得在网页中不仅有还有,等等Whatsthedifference?,Web(新)技术的三个方面(3),18,从一次“click”到一张webpage,浏览器用URL查询DNS,DNS访回IP地址.浏览器用这个IP地址建立一次TCP/IP连接.浏览器通过该连接向服务器发一HTTP请求.基于该请求的内容,服务器找到相应的文件,并根据该文件的扩展名,形成一个MIME类型的HTTP回答消息,发送给浏览器.关闭本次连接.根据消息头,浏览器按某种方式显示该文件内容.如果本文件中有之类,浏览器将随时发出新的请求(可能对不同的服务器),以获得有关内容。,19,Web服务器(软件)“很简单”!,它不懂HTML(浏览器必须懂!)它对web文件的内容一概不关心(除后面要讲到的特殊情况外)它也不知道是否有别的文件指向它所管辖的文件它也不知道自己所给出的文件MIME类型正确与否,20,HTTP:请求与应答,规定了请求与应答的格式没有规定网络连接的方式(通常采用TCP/IP)纯文本,没有特殊编码,21,方法:指定对所请求对象的操作。URI,UniversalResourceIdentifier,标识所请求的对象。URL的一个超集(HTTP实际用的只是URL).还有所谓URN,试图将信息资源的名字和位置分别开来协议版本号其它信息(选项),HTTP请求的四个组成部分,22,methodlocationver.GET/funny/silly.htmlHTTP/1.0user-agent:user-agent:NCSAMosaicif-modified-since:accept:text/plainaccept:accept:text/htmlaccept:application/postscriptaccept:accept:image/gifauthorization,HTTP请求示例,23,HTTP请求的方法,GET:返回所指对象HEAD:返回关于对象的信息,例如它已存在的时间等POST:将某种信息送给服务器/对象PUT:用一个新拷贝将对象替换DELETE:删除对象other,24,HTTP回答的四个组成部分,状态行:版本号,状态码,解释200Documentfollows404Notfound401Unauthorized,等等关于返回内容的描述:MIME类型,长度,等.空格返回内容,25,HTTP回答的格式,版本状态码原因HTTP/1.0status200Docfollows服务器:Server:NCSA/1.4日期:Date:Tue,4Jul,1996,19:17:05GMT内容长度:Content-length:5280内容类型:Content-type:text/html内容语言:Last-modified:Wed,1Jan1996.内容编码:(这里必须空一行)最后修改日期:文件的实际内容(空一行)实际信息,26,一个例子:10钟速成HTML,MyfirstHTMLdocumentHelloworld!,27,Moreattractiveaddingheadingsandparagraphs,AnimportantheadingAslightlylessimportantheadingThisisthefirstparagraph.Thisisthesecondparagraph.,28,Moreattractiveaddingabitofemphsis,interesting,29,Moreattractiveaddingimages,30,Moreattractive-addinglinkstootherpages,PekingUniversity定义锚:这是锚一所在位置引用锚:详细内容请参阅锚一详细内容请参阅锚一,31,Threekindsoflists-unorderedlist,thefirstlistitemthesecondlistitemthethirdlistitem,32,Threekindsoflists-orderedlist,thefirstlistitemthesecondlistitemthethirdlistitem,33,Threekindsoflists-definitionlist,thefirsttermitsdefinitionthesecondtermitsdefinitionthethirdtermitsdefinition,34,Addingtablesinyourpages,ABCDEFG1234567xyzabc123,35,几种辅助页面技术,CookieServerPushClientPullSSI(ServerSideInclude),36,Cookie-曲奇饼干,是从服务器发给浏览器的一种特殊形式的信息,浏览器不是将这些信息显示出来,而是记录在客户机的一个特定文件中,可以实现服务器和浏览器之间的某种持续的关系。,37,ServerPush,Web服务器可以向浏览器返回一个“回答序列”,序列中的每个元素可以看作是一个独立的HTML文本,在浏览器方一个接一个显示,从而造成一种动态效果。这种序列使用一种特殊的MIME类型,multipart/mixed,或multipart/x-mixed-replaced,来说明。值得注意的是,HTTP连接一直在保持着,直到服务器知道自己已结束发送数据并发送一个结束信号,或者客户端中断连接。适合小文件,短时间间隔,例如小图像的动画。,38,ClientPull,服务器可以通过CGI脚本返回一种类型为“Refresh”的HTTP应答,或者在HTML文本中的部分用标记模拟这种应答,从而是浏览器每隔一定时间自动发出一次新的网页请求。,39,例:浏览器重新下载网页,DemoClientPullTechnologyInsertyourtextorgraphicshere这将引起浏览器每隔5秒重新下载一次该网页,40,例:网页交替出现,Doc1.html则这两张网页将每隔30秒交替出现。上面的META标记相当于HTTP回答中有Refresh:30;RL=http:/./doc2.html”的效果。,Doc2.html则这两张网页将每隔30秒交替出现。上面的META标记相当于HTTP回答中有Refresh:30;RL=http:/./doc1.html”的效果。,41,SSI(ServerSideInclude),SSI技术使服务器能够在网页中插入数据。这样的网页通常以.shtml作为扩展名,对应的MIME类型text/x-server-parsed-html将它施加于HTML文档时,能够使文档增加一些实时功能,显示时间、查询、或更新数据库,发送电子邮件等。,42,SSI,SSI与HTTP服务器密切相关,并不是所有的服务器都能支持SSI。SSI记号的基本格式为:-Tag:echo,include,fsize,flastmod,exec,config,email,if,goto,label,break,43,44,关于Java,Java的历史和现状与Java有关的“形容词”simple,object-oriented,distributed,compiled/interpreted,robust,secure,architectureneutral,high-performance,multithreaded,anddynamic不把Java仅当作是一种语言Java语言,Java应用程序开发界面(APIs),Java虚拟机、执行环境Java的未来,45,Java语言:从21天到12小时!,对象模型Java的类和对象(一般,抽象,interface)继承机制(单继承,多实现)名空间及访问规则package,class/object,member,局部变量public,private,protected,default其它异常、线程、Applet,等,46,Java系统环境一览:运行机制,Javabytecodemovelocallyorthroughnetwork,ClassLoaderBytecodeVerifier,Javaclasslibraries,OperatingSystem,Hardware,JavaCompiler,Javasource,Javabytecode,JavaInterpreter,Just-in-timeCompiler,RuntimeSystem,Compile-time,Runtime,JavaVirtualMachine,47,第一个Java应用程序,在当前目录中,建文件firstjava.javapublicclassfirstjavapublicstaticvoidmain(Stringargv)System.out.println(“Hi,“+argv0);cdirjavacfirstjava.javacdirjavafirstjava“myfirstJavaprogramruns!”(1)类名和文件名的一致性;(2)命令行参数的获取;(3)字符串的拼接;(4)System.out.println()的含义,48,JavaAPIs:Java体系最活跃的部分,一个Framework由多个API组成;一个API可能含有多个package;一个package中有多个class.JavaAWT-窗口及界面APIJDBC-数据库操作API,JavaFrameworkforCommerce的一部分JavaBean-编写构件的APIRMI-远程方法调用API.,49,Java的历史(1),工作起始于1990年,旨在开发用于为家用电器编程的语言和环境(Sun公司,JamesGosling).语言最初的名字为Oak.1991年起在Green,VOD项目中得到首次应用,系统在应用中得到培育和完善.1994年WorldWideWeb兴起.1995年4月宣布Java和HotJava.1995年5月Netscape向Sun购买了Java使用权,将其包含到Netscape2.0中.,50,Java的历史(2),1995年11月推出JDK1.0beta版1995年12月BusinessWeek称Java是推动Web/Internet发展的一种突破性力量,同时也认为“Javaasabusiness“还不清楚.从1995年12月到1996年4月,许多计算机公司纷纷表示对Java的认同,宣布要将Java运行环境作为其操作系统的一部分.AppleHPHitachiIBMMicrosoftNovellSGISunSoftSCOTandem.,51,Java的现状,1996,97,98年,JavaOne大会,5000,10000人200多本书,几十万程序员JDK1.0,1.1,1.2(语言、虚拟机、基本类库)JavaFoundationClass(JFC,Javasoft)ApplicationFoundationClass(AFC,Microsoft)InternetFoundationClass(IFC,Netscape)PersonalJava,EmbeddedJava不少研究努力旨在提高Java的运行速度,HPJava.,52,JavaFoundationClass(JFC),Frameworks,APIs,Language,bytecode,JDK1.2,PeerlessComponents,3DAPI,accessibility,PluggablelookclassBextendsApublicvoidg()System.out.println(“ThisisfromB”);classCextendsB,61,Dynamics(continued),classD/indifferentcompilationunitD.javapublicstaticvoidmain(Stringargv)Cx=newC();x.g();/Whatoutputtobeexpected?WhatifABC.javaismodifiedandrecompiled(butD.javaisnotrecompiled)sothatclassCalsocontainsamethodg()producing“ThisisfromC”?,62,Java应用程序开发界面(APIs),java.beans(JavaBean,Java的构件技术)java.lang.reflect,JARjava.sql(JDBC,连接数据库)java.rmi(RMI,远程方法调用)java.awt(支持GUI设计)java.awt.datatransfer,java.awt.event,java.awt.image,java.awt.peer,63,Java虚拟机,一个程序(ANSIC),以Java类文件为数据类文件的格式bigendian数据表示方式以栈(stack)为基础的体系结构指令的操作数来自于栈操作结果放回栈栈的大小在编译时静态决定,64,Java的未来,JFC的不断完善高性能Java(HPJava)Java用于科学和工程计算学习程序设计的首选语言?取代C/C+?会了Java的中学生还愿意在大学学C吗?Java的生命期?走Ada之路?,65,Java技术:语言、API、虚拟机,66,JDK系统环境(w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论