书签 分享 收藏 举报 版权申诉 / 70
上传文档赚钱

类型Web基本工作原理课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5183241
  • 上传时间:2023-02-16
  • 格式:PPT
  • 页数:70
  • 大小:173.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Web基本工作原理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Web 基本 工作 原理 课件
    资源描述:

    1、1Web基本工作原理参考书:Web Server Technology,Nancy J.Yeager,Morgan Kaufmann Publishers,19962Web是Internet发展的产物nInternet-现代Internet=Webn继承:TCP/IP,MIME,Hypertext,n发展:HTTP,HTML,URL(Tim Berners-Lee)n(为方便起见,本讲区别Internet和Web)3什么是Internet?(如何界定Internet包含的所有计算机)n所有在DNS中有登记的计算机的集合?n所有具有IP地址的计算机的集合?(internet vs Interne

    2、t)n“公理”:总可以找到一台在Internet上的计算机n那么,Internet即为从任何一台已在Internet中的计算机可以用IP地址ping到的所有计算机的集合.n拨号上网的计算机算不算?4什么是Web?n运行在Internet之上的所有HTTP服务器软件和它们所管理的对象(及其作用)的集合n不算浏览器软件?!n对象:Web page/Web document,程序nweb document:multimedia/active,含有hyperlinks/anchorsn程序,动态生成web document.(dynamic document不同于active document)5We

    3、b Documentnmultimedia:多种数据类型共存于一个文档中,text,image,sound,movie,.n含有anchor/hyperlinks,形成hypertext:“a mesh of documents tied by hyperlinks”.nhypermedia:hypertext+multimedianactive web pages:含有在浏览器方可以执行的程序,Java applet,JavaScript,6Hypertextn通过“anchor”实现非线性文档 Peking University n1945年Vannevar Bush提出概念n1960年D

    4、ouglas Engelbart做出一系统(当时并没有Internet)nWeb是Hypertext在Internet上的应用.7Web文档的分类(生成时间)n静态文档n动态文档n活动文档8Web多媒体文档在浏览器方的展现n浏览器事先对文档的内容一无所知,为什么能够将它显示成如文档编写者所设计的样子?n可能的做法之一:让文档的编写者在文档头部给出描述.nWeb的设计比这稍微进了一步:Web服务器根据文件的扩展名来给出文档类型的宏观描述,这种描述借用了MIME标准.9MIME Multipurpose Internet Mail Extensionn一个开放的多语言、多媒体电子邮件标准,规定了不

    5、同数据类型的名字.nWeb仅用到它的一个子集nIANA(Internet Assigned Numbers Authority)负责不同类型电子邮件规范的注册登记n基本形式:Type/subtypetextmessageimageaudiovideoapplicationextensions10文件的扩展名和MIME类型的对应(例).html HTML文本,text/html.txt 纯文本.ps PostScript.ra RealAudio格式的语音.gif GIF 图像,image/gif.jpeg JPEG 图像.mpeg MPEG 视频.wrl VRML 三维场景.class Jav

    6、a applet这不是全部,还有许多!11服务器通常支持这种对应关系的设置n例如html,htm都可以是text/htmln设置通常在服务器的配置文件中12Web是“站”在TCP/IP之上的13Web是TCP/IP上的一个应用n从TCP/IP来看,WEB(HTTP)和TELNET,FTP,GOPHER,WAIS等没什么区别nMAC地址,IP地址,服务地址(port number).Web的缺省服务地址是80.n服务地址可以设置,于是我们可能有时看到http:/www.abc.edu:8800/之类.n什么叫一次TCP/IP连接?14Web(新)技术的三个方面(1)n(这里的“新”指的是web从

    7、无到有的“enabling technology”,即Tim Berners-Lee的最初贡献)nURL,Uniform Resource Locator.Web信息的寻址系统(address system).n借用了DNS,Domain Name Service,的mapping功能http:/ -http:/162.105.181.215n协助HTTP将各种信息服务统一在浏览器中ftp:/162.105.181.215-162.105.181.215:port15URL-Web(新)技术的三个方面(1)n格式::指所用的URL方案名 意义的解释与所用方案有关。nmailto:16nHTTP

    8、,HyperText Transfer Protocol,“The lingua franca”of Web browsers and servers.n请求/响应(request-response)工作方式n利用TCP/IP实现浏览器和服务器之间的连接n为社么常听人们说“HTTP是无连接的协议”?(connectionless)n还有说“HTTP是无状态的”?(stateless)Web(新)技术的三个方面(2)17nHTML,HyperText Markup Language,网页编写语言,向浏览器提供Web document的“排版”信息和hypermedia文档的链接关系。它使得在网页

    9、中n不仅有 n还有,等等nWhats the difference?Web(新)技术的三个方面(3)18从一次“click”到一张webpagen浏览器用URL查询DNS,DNS访回IP地址.n浏览器用这个IP地址建立一次TCP/IP连接.n浏览器通过该连接向服务器发一HTTP请求.n基于该请求的内容,服务器找到相应的文件,并根据该文件的扩展名,形成一个MIME类型的HTTP回答消息,发送给浏览器.关闭本次连接.n根据消息头,浏览器按某种方式显示该文件内容.如果本文件中有之类,浏览器将随时发出新的请求(可能对不同的服务器),以获得有关内容。19Web服务器(软件)“很简单”!n它不懂HTML(

    10、浏览器必须懂!)n它对web文件的内容一概不关心(除后面要讲到的特殊情况外)n它也不知道是否有别的文件指向它所管辖的文件n它也不知道自己所给出的文件MIME类型正确与否20HTTP:请求与应答n规定了请求与应答的格式n没有规定网络连接的方式(通常采用TCP/IP)n纯文本,没有特殊编码21n方法:指定对所请求对象的操作。nURI,Universal Resource Identifier,标识所请求的对象。URL的一个超集(HTTP实际用的只是URL).还有所谓URN,试图将信息资源的名字和位置分别开来n协议版本号n其它信息(选项)HTTP请求的四个组成部分22method location

    11、ver.GET /funny/silly.html HTTP/1.0user-agent:user-agent:NCSA Mosaicif-modified-since:accept:text/plainaccept:accept:text/html accept:application/postscriptaccept:accept:image/gifauthorizationHTTP请求示例23HTTP请求的方法nGET:返回所指对象nHEAD:返回关于对象的信息,例如它已存在的时间等nPOST:将某种信息送给服务器/对象nPUT:用一个新拷贝将对象替换nDELETE:删除对象nother

    12、24HTTP回答的四个组成部分n状态行:版本号,状态码,解释n200 Document followsn404 Not foundn401 Unauthorized,等等n关于返回内容的描述:MIME类型,长度,等.n空格n返回内容25HTTP回答的格式版本 状态码 原因 HTTP/1.0 status 200 Doc follows服务器:Server:NCSA/1.4日期:Date:Tue,4 Jul,1996,19:17:05 GMT内容长度:Content-length:5280内容类型:Content-type:text/html内容语言:Last-modified:Wed,1 Ja

    13、n 1996.内容编码:(这里必须空一行)最后修改日期:文件的实际内容 (空一行)实际信息26一个例子:10钟速成HTMLnnnnMy first HTML documentnnnHello world!27More attractiveadding headings and paragraphsnAn important headingnA slightly less important headingnThis is the first paragraph.nThis is the second paragraph.28More attractiveadding a bit of emph

    14、sisninteresting 29More attractiveadding imagesnn30More attractive-adding links to other pagesnPeking Universityn定义锚:n 这是锚一所在位置n引用锚:n详细内容请参阅锚一n详细内容请参阅锚一31Three kinds of lists-unordered listnn nthe first list itemn nthe second list itemn nthe third list itemn n32Three kinds of lists-ordered listnn nth

    15、e first list itemn nthe second list itemn nthe third list itemn nn 33Three kinds of lists-definition listnnthe first termnits definitionnthe second termnits definitionnthe third termnits definitionn34Adding tables in your pagesnn ABCDEFG 1234567 n xyz a b c n 1 2 3 n35几种辅助页面技术nCookienServer Push nCl

    16、ient PullnSSI(Server Side Include)36Cookie-曲奇饼干n是从服务器发给浏览器的一种特殊形式的信息,浏览器不是将这些信息显示出来,而是记录在客户机的一个特定文件中,可以实现服务器和浏览器之间的某种持续的关系。37Server Push nWeb服务器可以向浏览器返回一个“回答序列”,序列中的每个元素可以看作是一个独立的HTML文本,在浏览器方一个接一个显示,从而造成一种动态效果。这种序列使用一种特殊的MIME类型,multipart/mixed,或multipart/x-mixed-replaced,来说明。值得注意的是,HTTP连接一直在保持着,直到服务

    17、器知道自己已结束发送数据并发送一个结束信号,或者客户端中断连接。适合小文件,短时间间隔,例如小图像的动画。38Client Pulln服务器可以通过CGI脚本返回一种类型为“Refresh”的HTTP应答,或者在HTML文本中的部分用标记模拟这种应答,从而是浏览器每隔一定时间自动发出一次新的网页请求。39例:浏览器重新下载网页 nn n n Demo Client Pull Technologyn n n Insert your text or graphics here n n这将引起浏览器每隔5秒重新下载一次该网页 40例:网页交替出现nDoc1.htmln则这两张网页将每隔30秒交替出现

    18、。上面的META标记相当于HTTP回答中有 R e f r e s h :3 0;RL=http:/./doc2.html”的效果。nDoc2.htmln 则这两张网页将每隔30秒交替出现。上面的META标记相当于HTTP回答中有 R e f r e s h :3 0;RL=http:/./doc1.html”的效果。41SSI(Server Side Include)nSSI技术使服务器能够在网页中插入数据。这样的网页通常以.shtml作为扩展名,对应的MIME类型text/x-server-parsed-htmln将它施加于HTML文档时,能够使文档增加一些实时功能,显示时间、查询、或更新

    19、数据库,发送电子邮件等。42SSInSSI与HTTP服务器密切相关,并不是所有的服务器都能支持SSI。nSSI记号的基本格式为:!-#-Tag:echo,include,fsize,flastmod,exec,config,email,if,goto,label,break 4344关于JavanJava的历史和现状n与Java有关的“形容词”nsimple,object-oriented,distributed,compiled/interpreted,robust,secure,architecture neutral,high-performance,multithreaded,and

    20、dynamicn不把Java仅当作是一种语言nJava语言,Java应用程序开发界面(APIs),Java虚拟机、执行环境nJava的未来45Java语言:从21天到12小时!n对象模型nJava的类和对象(一般,抽象,interface)n继承机制(单继承,多实现)n名空间及访问规则npackage,class/object,member,局部变量npublic,private,protected,defaultn其它n异常、线程、Applet,等46Java系统环境一览:运行机制Javabytecodemove locallyor throughnetworkClass LoaderByt

    21、ecodeVerifierJava classlibrariesOperating SystemHardwareJavaCompilerJavasourceJavabytecodeJavaInterpreterJust-in-timeCompilerRuntime SystemCompile-timeRuntimeJavaVirtualMachine47第一个Java应用程序在当前目录中,建文件firstjava.javapublic class firstjava public static void main(String argv)System.out.println(“Hi,“+arg

    22、v0);cdir javac firstjava.javacdir java firstjava“my first Java program runs!”(1)类名和文件名的一致性;(2)命令行参数的获取;(3)字符串的拼接;(4)System.out.println()的含义48Java APIs:Java体系最活跃的部分n一个Framework由多个API组成;一个API可能含有多个package;一个package中有多个class.nJava AWT-窗口及界面APInJDBC-数据库操作API,Java Framework for Commerce的一部分nJavaBean-编写构件

    23、的APInRMI-远程方法调用APIn.49Java的历史(1)n工作起始于1990年,旨在开发用于为家用电器编程的语言和环境(Sun 公司,James Gosling).语言最初的名字为Oak.n1991年起在Green,VOD项目中得到首次应用,系统在应用中得到培育和完善.n1994年World Wide Web兴起.n1995年4月宣布Java和HotJava.n1995年5月Netscape向Sun购买了Java使用权,将其包含到Netscape 2.0中.50Java的历史(2)n1995年11月推出JDK 1.0 beta版n1995年12月Business Week称Java是推

    24、动Web/Internet发展的一种突破性力量,同时也认为“Java as a business“还不清楚.n从1995年12月到1996年4月,许多计算机公司纷纷表示对Java的认同,宣布要将Java运行环境作为其操作系统的一部分.Apple HP Hitachi IBM Microsoft Novell SGI SunSoft SCO Tandem.51Java的现状 n1996,97,98年,JavaOne大会,5000,10000人n200多本书,几十万程序员nJDK 1.0,1.1,1.2(语言、虚拟机、基本类库)nJava Foundation Class(JFC,Javasoft

    25、)nApplication Foundation Class(AFC,Microsoft)nInternet Foundation Class(IFC,Netscape)nPersonal Java,Embedded Javan不少研究努力旨在提高Java的运行速度,HPJava.52Java Foundation Class(JFC)FrameworksAPIsLanguagebytecodeJDK 1.2Peerless Components3D APIaccessibilityPluggable look&feelDrag&DropJava总览53与Java有关的“形容词”(1)Java

    26、:A simple,object-oriented,distributed,compiled/interpreted,robust,secure,architecture neutral,high-performance,multithreaded,and dynamic language.54与Java有关的“形容词”(2)nSimple (与C,C+,Fortran等相比)n“小”语言n没有struct,union,goto,#define n没有多继承n容易学?nObject-orientedn程序完全由类构成,写程序就是描述类n程序中几乎所有的东西都是“对象”55与Java有关的“形容

    27、词”(3)nDistributednAppletnURL类便利了从WEB上读取文件nRMI支持远程方法调用n底层网络支持,sockets,datagramsnCompiled/interpretedn源程序被编译编译成bytecode,类文件nbytecode被Java虚拟机(JVM)解释解释执行56与Java有关的“形容词”(4)nRobust-程序一旦调好,一般不会因为数据的不同出错.n编译时严格的类型检查n没有指针,动态检查数组界n自动废料收集防止了“memory leak”.n优越的异常处理方式,try/catch/finally57与Java有关的“形容词”(5)nSecuren存储

    28、保护(no pointer,array bounds checking,)nbytecode验证(运行时,stack的一致性)n“砂箱模型”(sandbox),限制某些程序的能力n数字签名58与Java有关的“形容词”(6)nArchitecture neutral-“Write once,run anywhere!”nbytecode与平台无关(PC,Mac,UNIX)n对基本数据类型格式的严格规定nHigh-performance,though not as fast as Cn对交互式界面及网络应用足够好n与图形、串有关的操作直接在VM实现nNative method,JIT compi

    29、ler.59与Java有关的“形容词”(7)nMultithreadedn在语言级提供对“线程”的支持(自然也有类一级的支持)nDynamicn类的动态加载,java.lang.ClassLoadern运行时进行动态方法查找(dynamic method lookup)60Dynamics(continued)class /say,file name ABC.javapublic void g()System.out.println(“This is from A”);class B extends A public void g()System.out.println(“This is fr

    30、om B”);class C extends B 61Dynamics(continued)class D /in different compilation unit D.java public static void main(String argv)C x=new C();x.g();/What output to be expected?What if ABC.java is modified and recompiled(but D.java is not recompiled)so that class C also contains a method g()producing“T

    31、his is from C”?62Java应用程序开发界面(APIs)njava.beans(JavaBean,Java的构件技术)njava.lang.reflect,JARnjava.sql(JDBC,连接数据库)njava.rmi(RMI,远程方法调用)njava.awt(支持GUI设计)njava.awt.datatransfer,java.awt.event,java.awt.image,java.awt.peer63Java虚拟机n一个程序(ANSI C),以Java类文件为数据n类文件的格式nbig endian 数据表示方式n以栈(stack)为基础的体系结构n指令的操作数来自

    32、于栈n操作结果放回栈n栈的大小在编译时静态决定64Java的未来nJFC的不断完善n高性能Java(HPJava)Java用于科学和工程计算n学习程序设计的首选语言?n取代C/C+?会了Java的中学生还愿意在大学学C吗?nJava的生命期?走Ada之路?65Java技术:语言、API、虚拟机66JDK系统环境(win95/dos)C:javabinjavacjavaappletviewerlibclasses.zip用户类文件所在目录myclasses当前目录 cdir让PATH 包含 javabinSET CLASSPATH=。;C:myclasses67第一个Java应用程序在当前目录中

    33、,建文件firstjava.javapublic class firstjava public static void main(String argv)System.out.println(“Hi,“+argv0);cdir javac firstjava.javacdir java firstjava“my first Java program runs!”(1)类名和文件名的一致性;(2)命令行参数的获取;(3)字符串的拼接;(4)System.out.println()的含义68第一个Java applet在当前目录中,建文件firstapplet.javaimport java.ap

    34、plet.Applet;import java.awt.*;public class firstapplet extends Applet public void paint(Graphics g)String cheers;cheers=getParameter(“what”);g.drawString(“Hi,“+cheers,);69第一个Java applet(续)小程序是对了,但它需要在浏览器(或appletviewer)中才能运行;这蕴含着它的执行必须由一个HTML文本引导.建文件firstapplet.html,cdir javac firstapplet.javacdir appletviewer firstapplet.htmln每一个applet都是java.applet.Applet的子类n写applet的核心是对Applet中的方法做overriden注意HTML文本中的参数与applet中有关量的对应70进一步作业n安装JDK,并成功运行上述程序和Applet例子

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Web基本工作原理课件.ppt
    链接地址:https://www.163wenku.com/p-5183241.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库