,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,1,主要内容,WEB,技术的优点,WEB,基础知识,WEB,开发的历史和现状,相关的,WEB,开发技术,WEB,开发工具,WEB,开发的未来趋势,1主要内容WEB技术的优点,2,WEB,技术的优点,界面友好,互动性强,部署简单,可以做到真正的瘦客户端,维护升级方便,操作方便、零用户培训,2WEB技术的优点界面友好,互动性强,3,WEB,基础知识,HTTP,协议,HTML,规范,客户端浏览器,WEB,应用服务器,3WEB基础知识HTTP协议,4,HTTP,协议,HTTP,是 一 个 应 用 层 协 议,目 前 广 泛 应 用 于,web,浏 览 器 和,web,服 务 器 之 间 的 通 信。,HTTP,用 字 符 串 进 行 通 信,所 传 送 的 信 息 称 为,HTTP,消 息,(HTTP-Message),。,HTTP,消 息 有 两 种 类 型:浏 览 器 传 送 给 服 务 器 的 请 求 消 息 和 服 务 器 传 送 给 浏 览 器 的 响 应 消 息,其 基 本 格 式 如 下:,请 求 消 息:,Method Request-URI HTTP-Version,;请 求 行,general-header,;通 用 消 息 头,request-header,;请 求 消 息 头,entity-header,;实 体 消 息 头;,空 行,message-body,;消 息 实 体,其 中 三 种 消 息 头 的 次 序 是 任 意 的。,响 应 消 息:,4HTTP协议HTTP 是 一 个 应 用 层 协 议,目,5,HTTP-Version Status-Code Reason-Phrase,;状 态 行,general-header,;通 用 消 息 头,response-header,;响 应 消 息 头,entity-header,;实 体 消 息 头;,空 行,message-body,;消 息 实 体,请求行中的,Method,(方 法)指定具体的请求操作,这些方法是,HTTP,指定的,,常用的方法有:,-,GET,浏览器要求从服务器处获得信息。,-,POST,浏览器向服务器传送信息。,HTTP,协议,5HTTP-Version Status-Code Reas,6,请求行中的,Request-URI,是信息资源的定位符,类似于我们通常所说的“网 址”,,但网址通常是指某个网点,IP,地址对应的域名,而,URI,则要进一步指明网址下的路,径、网页文件名、,web,应用程序名等信息资源。请求行中的,HTTP-Version,则指明,浏览器所能执行的,HTTP,协议版本号,多数是,1.0,或,1.1,以 下 是 一 个 请 求 消 息 的 具 体 例 子:,GET/default.htm HTTP/1.0,Host:http:/default,Accept:text/html,User-Agent:Mozilla/2.0(compatible;NEWT ActiveX;Win32,),HTTP,协议,6请求行中的Request-URI是信息资源的定位符,类似于,7,HTTP,协议,HTTP,协议的主要特点可概括如下:,1.,支持客户,/,服务器模式。,2.,简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有,GET,、,HEAD,、,POST,。每种方法规定了客户与服务器联系的类型不同。由于,HTTP,协议简单,使得,HTTP,服务器的程序规模小,因而通信速度很快。,3.,灵活:,HTTP,允许传输任意类型的数据对象。正在传输的类型由,Content-Type,加以标记。,4.,无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。,5.,无状态:,HTTP,协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。,7HTTP协议HTTP协议的主要特点可概括如下:1.支持客,8,HTML,规范,HTML,超文本标记语言,超文本,标记,网 页 是 一 个 按 照,HTML,规 范 编 写 的 纯 文 本 文 件,其 基 本 框 架 结 构 如 下:,网 页 标 题,.,(网 页 的 具 体 内 容),8HTML规范HTML超文本标记语言,9,HTML,世界环球组织,W3C,HTML,的版本,1.0,、,2.0,、,3.0,、,3.2,、,4.0,HTML4,DHTML,CSS,9HTML世界环球组织W3C,10,客户端浏览器,文本浏览器,多媒体浏览器,Mosaic,Netscape,Internet Explorer 4.0/5.0/6.0,10客户端浏览器文本浏览器,11,WEB,应用服务器,IIS,、,PWS,其他,WEB,服务器,Netscape Server,Apache,Tomcat,Resin,、,Jrun,、,WebLogic,、,WebSphere,等,11WEB应用服务器IIS、PWS,12,WEB,开发的历史和现状,WEB,开发的历史,Web,应用的开发经历了三个阶段,基于,CGI,阶段,基于,服务器端的脚本语言开发的阶段,基于应用服务器方式的阶段,WEB,开发的现状,基于应用服务器方式的阶段,应用服务器解决的问题,12WEB开发的历史和现状WEB开发的历史,13,相关的,WEB,开发技术,CGI,ASP,PHP,JSP,其他相关技术,组件技术,如,COM/ACTIVE X,、,JavaBean,插件技术,Plug IN,,如,FLASH,媒体播放,13相关的WEB开发技术CGI,14,ASP,ASP,更精确的说是类似一个中间件,这个中间件将,Web,上的请求转入到一个解释器中,在这个解释器中将所有的,ASP,的,Script,进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的,COM,对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些,COM,组件再完成更多的工作。所以说,,ASP,强大的不在于它的,VBScript,,而在于它后台的,COM,组件,这些组件来无限的扩充了,ASP,的能力。,优点:,1,、简单易学。,BASIC,开发基础是最广的,而且,MS,有一向做的非常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大大方便开发人员的学习和对技术的深入研究。,2,、安装使用方便。装好一个,Windows 2000,,只要你安装了,IIS,哪么,ASP,就可以使用了,从没有什么需要你花心思去配置的。而说实话,,ASP,的调优也不难做,而要做到最细时也不是一般人能做的了的。,14ASP ASP更精确的说是类似一个中间件,这个中间件将,15,ASP,3,、开发工具强大而多样。可以说的就是以前使用,VB,中的,Web Class,开发出的,Web,应用一点不差,当时让许多人大吃一惊,,VB,也能做,ASP,上的应用!其实这正说明了,ASP,开发工具的多样化,同时它们的功能也很强,这一点已经被许多程序员所津津乐道。易用、简单、人性化,这本就是微软的强项。,4,、效率高。在低的访问量下,,ASP,能体现出一定的效率,这时它对机器的要求并不高。,缺点:,1,、,Windows,本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性,(Win2K,已经不再支持,Alpha,了,),都会因为与,NT,的捆绑而显现出来。,2,、,ASP,由于使用了,COM,组件所以它会变的十分强大,但是这样的强大由于,Windows NT,系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。,15ASP3、开发工具强大而多样。可以说的就是以前使用V,16,ASP,3,、由于,ASP,还是一种,Script,语言所以除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。,4,、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥,ASP,最佳的能力。可是我却认为正是,Windows,限制了,ASP,,,ASP,的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。,5,、还无法完全实现一些企业级的功能:完全的集群、负载均横。,16ASP3、由于ASP还是一种Script语言所以除了大量,17,PHP,PHP,最初是一个技术人员希望能用一个快速的方面来完成他自己的个人主页中的一个小应用。而在他一发不可收时出现了,php,,它使一个人能在多种操作系统下迅速的完成一个轻型的,Web,应用。同时在,GNU,的世界里找到了一个青梅竹马的伙伴,-Apache,。这终于让,php,有了基础,能在一个最佳的环境中运行,同时由于两个产品都是公开源代码的产品,所以大家可以使用它们的源代码将这两个产品用最完美的方式结合到一起,使用起来就如一个产品一样。,php,可能是自由软件在,web,应用平台上一个决胜的工具,如果没有,php,的出现,还会有许多人认为自由软件就代表了对开发人员的高技术要求、难记的代码、复杂的工具,.php,使一个会使用,basic,的人员在极短的时间里快迅学习并完成用户需要的应用。,可以说,php,是一个纯粹的,Script,翻译器。这也是,php,由,3,升级为,4,的一个重大原因,在,4,这个版本里它重写了语法分析器,从而加快了,php,整体的效能。而且从中也就会明白为什么,php,需要支持这种或是那种扩充功能时它一定要与相应系统的,lib,库进行再编绎的原因。正因为它是正宗的,“,翻译器,”,,,17PHP PHP最初是一个技术人员希望能用,18,PHP,所以它是将,script,翻译成为需要执行的函数,再去执行它们,外部扩充不能由一些,“,动态加载,”,的方式进行,所以只能静态的编绎进,php,中,(,这只能在,windows,中除外,),。,优点:,1,、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。正是它的这种能力让,Unix/Linux,有了一种与,ASP,媲美的开发语言。语法简单、书写容易、现在市面上也有了大量的书,同时,Internet,上也有大量的代码可以共享,对于一个初学者想学些,“,高深的,Unix,”,下的开发来说是一个决好的入手点。,2,、与,Apache,及其它扩展库结合紧密。,php,与,Apache,可以以静态编绎的方式结合起来,而与其它的扩展库也可以用这样的方式结合,(,除外的就是,Windows,平台了,),。这样的方式的最大的好处就是最大化的利用了,cpu,时间和内存,同时极为有效的利用了,apache,的高性能的吞吐能力。同时外部的,18PHP所以它是将script翻译成为需要执行的函数,,19,PHP,扩展也是静态连编,从而达到了最快的运行速度。由于与数据库的接口也使用了这样的方式,所以使用的是本地化的调用,这也让数据库发挥了最佳效能。,3,、良好的安全性。由于,php,本身的代码开放所以它的代码在许多工程师手中进行了检测,同时它与,apache,编绎在一起的方式也可以让它具有灵活的安全设定。所以到现在为止,,php,具有了公认的安全性能。,缺点:,1,、数据库支持的极大变化。由于,php,的所有的扩展接口都是独立团队开发完成的,同时在开发时为了形成相应数据的个性化操作,所以,php,虽然支持许多数据库,可是针对每种数据库的开发语言都完全不同。这样形成针对一种数据库的工发工作,在数据库进行升级后需要开发人员进行几乎全部的代码更改工作。而为了让应用支持更多种的数据库,就需要开发人员将同样的数