




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习内容:理解Web应用程序的多层体系结构,了解多层体系结构的优点;掌握典型Web应用程序的结构,了解Web应用程序的开发过程;掌握HTTP协议的基本概念;了解Web应用程序发送的请求消息和接收来自Web应用程序的响应消息的有关内容。,第1Web开发概述,Web,HTTP协议简介,引言:常见的软件体系结构,单主机结构用户界面、事务逻辑和数据存取功能都是在大型机上实现。Client/Server结构:服务器通常安装数据库系统;客户端安装专用的客户端软件业务逻辑通常在客户端处理,适用于单机或者小型局域网。,Browser/Server浏览器/服务器结构:浏览器通过HTTP协议向Web服务器发出请求,服务器对浏览器的请求进行处理,再将所需信息返回浏览器。,局域网、因特网与Intranet,局域网(LAN):将小区域内的各种通信设备互联在一起的通信网络。Internet是全球最大的、开放的、采用TCP/IP协议、由众多网络互联而成的计算机互联网。从通信角度看:Internet是一个理想的信息交流媒介。从获取信息的角度看:Internet是一个庞大的信息资源库。从商业运营的角度看:在网上进行各种电子交易。从娱乐休闲的角度看:Internet是一个花样众多的娱乐厅。Intranet(企业内部网):采用Internet的协议标准,用Internet的现有技术建设的企业内部网络。与Internet使用相同的信息技术;从根本上改变了企业信息管理的方式;提高了企业内部信息共享与交流的程度;企业内部数据与企业外部数据交流更流畅。,WWW简称Web网或万维网,环球信息网(WorldWideWeb):由分布在Internet中的众多个超文本文档连接成的分布式网络信息系统。WWW是一个在Internet上运行的全球性的分布式信息系统。WWW由欧洲核子物理研究中心(CERN)研制,最初是为参与核物理实验的分布在各国科学家交流信息的一种网络通信工具。WWW经Internet向用户提供基于HTTP的超媒体数据信息服务浏览客户既是信息的享用者,也是信息的提供者。WWW服务器的数据文件由超文本标记语言HTML描述;HTML用通用资源访问地址(URL)表示媒体链接,并指向其他网络资源,超文本:不仅包含文字,还包含声音、图形、图像、动画和视频等,还实现非线性地存储、组织、管理和浏览信息的超链接。网页(也称Web页):通过浏览器所看到的每一个画面,包含众多信息(多媒体信息)。网站(也叫站点):将一组网页组织、连接在一起,经发布,用浏览器看到有关信息,Web客户、Web技术与设计工具,80%的Web客户只扫描网页内容,寻找关键字和短语。普通客户读Web内容比纸张慢25%。Web客户和站点设计关系:Web设计必须吸引人,以客户为本,引导他快速找到所需内容;Web客户不希望网页充斥无关内容和混乱图像;内容很重要,布局和传递也很重要;用可以赢得客户的布局特性来创建网页。Web技术是人类所经历的发展最快的技术。客户端开发技术:HTML、CSS、DOM、ActiveX、JavaScript、VBScript、Applet等。服务器端开发技术:JSP/Servlet、PHP、ASP、CGI等。网页设计工具:FrontPage、Dreamweaver、HotDogProfessional、IBMRSA、Eclipse、WebPageMaker和BEAWebLogicWorkshop等。,Web设计,Web是一个动态媒体,其设计概念总在发展。随着欣赏水平和设计技术的提高,规则和概念不断发展变化。,Web最基本设计原则:Web内容永远占第一位,多媒体外观设计与设计技术占第二位;网站设计主要目的是为用户浏览信息,而不是设计者;与C/S应用程序的使用者浏览信息也有很大的区别。针对客户群设计,突出客户最需要的信息。站点设计时既要专注客户的共性,也要兼顾个性。简洁、方便和快速;滥用多媒体会阻碍用户。,新版,旧版,静态网站与动态网站,静态网站:网站的所有网页都由静态网页组成的网站静态网页:网页内容固定不变(仅手动更新其HTML文档才能更新内容),Web服务器将纯粹的HTML文档传送给客户浏览器。静态网页都是保存在服务器上的一个独立文档,有固定的URL;静态网页内容稳定易被搜索引擎检索,且不需数据库支持;静态网页的交互性差,在功能方面有较大的限制。动态网站:有动态网页的网站动态网页:具有交互性、自动更新和因人而异的特点,存取数据库、有代码在服务器端运行,并仅访问时才确定内容的网页。大多数网站都以静态网页和动态网页混合组成。,有GIF动画、Flash动画或滚动文本的网页不是动态网页,Web应用程序,Web应用程序:一种使用HTTP作为核心通信协议、通过互联网让Web浏览器和服务器通讯的计算机程序。Web应用程序开发过程:设计目录结构;编写Web应用程序代码;编写部署描述符;编译代码;将Web应用程序打包;部署Web应用程序;执行Web应用程序。Web应用程序体系结构:表示层:采用Web浏览器实现业务逻辑层:由位于Web服务器上的各种服务器端程序实现;数据服务层:由数据库服务器提供数据的存储和访问。,Web客户端主要开发技术,超文本标记语言HTML:一种用来定义信息表现方式的格式,告诉WWW浏览器如何显示文字和图形图像等各种信息以及如何进行链接等。CSS层叠样式表由W3C的CSS工作组设置和维护,用于表现HTML或XML等文件式样的浏览器解释型语言;不需要编译就可由浏览器执行。特点:语法非常简单,其语法组成元素只有CSS选择符与CSS属性;每个CSS选择符可以包含一个或多个CSS属性。XML(可扩展标记语言)由W3C(万维网协会)推出的新一代数据交互的标准,主要用于定义Web网页上的文档元素和商业文档。特点:一种数据存储语言,用一系列简单的标记来描述数据用途:实现不同应用程序间的数据交互;同一种数据可实现多种样式;实现数据的分布式处理。,Web客户端主要开发技术(续),JavaScript:由Netscape公司开发的一种客户端脚本语言它允许在HTML基础上进行交互式Web网页的开发它的出现使网页与用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多的活跃元素。JavaScript很多情况下用在客户端数据校验方面,一定程度上减轻了服务器的负载量,为客户提供更流畅的浏览效果。Ajax(异步JavaScript和XML):一种结合了XML及JavaScript等编程技术,用于创建交互式网页应用的Web开发技术;可以解决Web应用中页面刷新的问题。包含的主要技术:XMLHttpRequest:由微软开发的可在不刷新页面的情况下直接进行脚本与服务器通信的技术;在Ajax中用于异步向服务器传输数据。JavaScript:在Ajax中起纽带作用,将其它技术进行有机结合。CSS:在Ajax中提供了从内容中分离应用样式和设计的机制。XML:在Ajax中用于处理数据交互格式。XSLT:在Ajax中用于结合XML进行数据交换及相关操作。,主要的动态网站开发技术,动态网页技术的原理:使用不同技术编写的动态页面,都保存在Web服务器中;各种动态页面技术均通过在HTML中添加相应语言脚本来实现,支持相应脚本的服务器通过解释引擎执行脚本,并生成HTML页面;最后Web服务器把执行结果连同页面上的HTML内容以及各种客户端脚本一同传送到客户端。,Web服务器端应用开发的主流技术:CGI、PHP、ASP、JSP(CGI不是一种动态网页设计语言),PHP、ASP和JSP是当今最常用的三种动态网页设计语言。选择了应用服务器(或动态语言中间件)后动态语言随即确定。,CGI、PHP,CommonGatewayInterface公用网关接口技术:编写CGI程序可以使用的程序语言,如:VB、Delphi或C/C+等CGI技术发展成熟且功能强大,但CGI程序本身不能实现跨平台运行,编程困难、效率低下、修改复杂,已逐渐被新技术取代。在传统的CGI环境中,每次客户端向服务器端发出请求,都会使服务器产生一个新的进程来装载和运行CGI程序。,PHP()超文本预处理器:用于开发Web应用的HTML内嵌式语言,结合了C、Java、Perl及PHP的新语法,目标是让Web程序员能快速开发出动态网页。PHP技术优势:免费、提供源代码的脚本语言(超文本预处理器和源代码完全免费)可在Windows,Unix,Linux的Web服务器上运行,支持IIS,Apache等通用Web服务器;相比ASP,PHP占用的系统资源较少,运行速度较快。PHP与MySQL是绝佳搭配,支持Oracle,Sybase,SQLServer和Access等PHP技术劣势:PHP缺乏规模支持和多层结构支持,不适合大型商务站点。,ASP/ASP.net(),ASP(ActiveServerPage)动态服务器页面ASP是微软开发的一种动态网页设计脚本语言,可产生和执行动态、互动、高性能的WEB服务应用程序。ASP技术优势:简单易用,但存在安全性问题;需要在IIS上运行,与浏览器无关,语法类似VB;可扩展性好。ASP.NET一个Web开发平台提供构建企业级应用程序的服务、编程模型和软件基础架构ASP.NET简单易学、可扩展性好;借鉴了Java技术的优点,兼容ASP并改进了ASP安全性差等缺点;提供可视化编程环境,开发效率高;语言灵活,全面支持面向对象特性,特别适于初学者的学习与编程。加强了强健性,但效率较低(内存使用和执行时间耗费很大)引入了ADO.NET数据访问接口,大大提高数据访问效率运行环境要求比较高,需要.NETFrameworkSDK,以及IISASP.NET比较适于安全程度要求太高、运行效率要求也不是很苛刻的情况,不适于电子商务网站。,JSP,JSP是JavaServerPages缩写由Sun公司倡导、许多公司参与建立的一种应用范围广泛的动态网页技术标准,是Java语言编写的服务器端运行的页面。JSP在HTML中嵌入Java脚本(可以看作是一种脚本语言)HTML代码负责显示信息控制,Java代码负责业务逻辑控制。JSP技术优势:在JSP中几乎可以使用全部的Java类;执行效率较高:JSP运行效率要比ASP、PHP要高得多;首次执行时,被编译成Servlet代码,而ASP、PHP边解释边执行源代码安全性高、具有规模和层次结构支持,J2EE体系中的一部分;JSP具有平台无关性:适于各种硬件和软件平台;大量的开源社区,学习资料丰富。JSP技术劣势:JSP开发缺少图形拖拽的工具,开发代码比PHP和ASP复杂;一般用于电子商务网站或中大型企业网站。,JSP工程师的要求,变化趋势,小结:,主要内容:常见的软件体系结构WWW及其相关的基本概念:Internet、Intranet、静态网站和动态网站的相关技术介绍了CGI、PHP、ASP和JSP要求:了解Web应用的相关概念熟悉PHP、ASP、ASP.NET和JSP的主要优缺点,HTTP协议简介,HTTP概述,HTTP超文本传输协议:HTTP是一个分布式,协作的,超媒体信息系统的应用层协议。HTTP协议是主要用在万维网上存取数据的协议;传送数据的形式:普通正文、超文本、音频、视频等等。HTTP使用TCP(默认采用80端口)连接进行可靠的传送。HTTP的产生与发展产生:1990年,为解决WWW应用开发中HTML文档网上传输版本:HTTP0.9、HTTP1.0(RFC1945)及HTTP1.1(RFC2616)为了适应下一代的因特网,已提出了HTTPng。WWW上的信息检索服务系统就是遵循HTTP协议运行的。HTTP采用客户机/服务器体系结构客户端:WEB浏览器,功能包括与WEB服务器建立通讯所需的软件及转换、显示重现从服务器方返回的数据。服务器:Web内容的提供者。它响应客户端(浏览器)的请求,并向客户端提供某种超媒体形式的数据。,HTTP工作原理,HTTP会话周期分为4步:1)建立TCP/IP连接客户打开一套接字(Socket),并将其约束在一个端口(默认为80号)上2)客户向服务器发送HTTP请求建立一个连接后,客户机把请求消息送到服务器端口上,完成提出请求动作。3)服务器向客户回送HTTP响应4)断开TCP/IP连接。客户和服务器都可通过关闭套接字结束TCP/IP对话。,说明:通常,由HTTP客户端发起TCP连接请求;HTTP服务器则在指定端口监听客户端发送过来的请求;一旦收到请求,服务器就响应客户端请求,并向客户端发回一个状态行,如HTTP/1.1200OK,和响应消息,消息体可能是请求的文件、错误消息、或其它一些信息。,HTTP1.1较HTTP1.0的改进,HTTP1.1默认使用持续连接(管道线或称流水线)机制服务器在发送响应后仍在一段时间内保持该连接,使同一个客户和服务器继续在该连接上传送后续的请求报文和响应报文。客户在收到HTTP的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器可连续发回响应报文但每个单独的网页文件的请求和响应仍需建立各自的连接。,HTTP1.1通过增加更多的请求头和响应头改进和扩展1.0的功能如:增加了Host请求头字段,浏览器可使用主机名来明确表示要访问服务器上的那个Web站点,以实现在一台Web服务器上用同一个IP地址和端口号使用不同的主机名创建多个虚拟Web站点。URL统一资源定位符(也称网页地址)格式:/:/如::80/def.htm,Web的代理服务器,代理服务器(proxyserver)又称万维网高速缓存是一种网络实体,代表浏览器发出HTTP请求。高速缓存把最近一些请求和响应暂存在本地磁盘中。,浏览器访问因特网上的服务器的过程:1)浏览器访问因特网服务器时,先与代理服务器建立TCP连接,并向代理服务器发出HTTP请求报文;2)若代理服务器已存放所请求的对象,则将此对象放入HTTP响应报文中返回给浏览器;3)否则代理服务器代表发出请求的用户浏览器,与因特网上的服务器建立TCP连接,并发送HTTP请求报文;4)因特网服务器将所请求的对象放在HTTP响应报文中,通过已建立的TCP连接,返回给代理服务器。5)代理服务器收到对象后,先复制到本地存储器,再将其放入响应报文中,通过已建立的TCP连接返回给请求该对象的浏览器。,HTTP协议的主要特点,1.支持客户/服务器模式;2.简单快速:客户请求服务时,只需传送请求方法和路径请求方法常用的有GET、HEAD、POST。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4.无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。5.无状态:HTTP协议是无状态协议。无状态指协议对事务处理没有记忆能力,意味着若后续处理需要前面的信息,则必须重传(可能导致每次连接传送的数据量增大)另一方面,在服务器不需要先前信息时它的应答就较快。,请求报文,请求报文是客户向服务器发送请求的报文,结构如下:,请求行,请求行的组成:请求方法、URL和HTTP协议版本3个字段组成,它们用空格分隔。请求方法(全为大写)有多种,各方法作用如下:GET:请求获取URL所标识的信息POST:在所标识的资源后附加新的数据OPTIONS:请求查询服务器的性能或与资源相关的选项和需求HEAD:请求获取由URI所标识的资源的响应消息报头PUT:请求存储在由URL指定的一个资源(文档)DELETE:请求服务器删除URI所标识的资源TRACE:请求回送收到的请求信息(主要用于测试或诊断)CONNECT:保留将来使用例:在浏览器的地址栏中输入网址访问网页在浏览器地址栏中输入网址访问网页时,浏览器采用GET方法GET/form.htmlHTTP/1.1(CRLF),请求头部,请求头部通知服务器有关于客户端请求信息。由关键字/值对组成,每行一对,关键字和值用英文冒号:”分隔服务器根据请求消息头中的消息来对请求进行处理,可以理解为是浏览器和服务器之间进行信息交换的指令。常用请求消息头说明:Accept:请求报头域,指定客户端接受信息的类型(MIME);如:Accept:image/gif表明客户端希望接受GIF图象格式的资源;Accept:text/html,表明客户端希望接受html文本。User-Agent:产生请求的浏览器类型。Accept-Language:用于指定可接受语言的编码;如:Accept-Language:zh-cn表示优先接受中文版文档。,Accept-Encoding:用于指定可接受的内容编码,如:如:gzip.deflate表示可以接受gzip算法编码过的数据。Referer:上一个资源的URL,告诉服务器发出当前访问的页面;Connection:表示处理本次请求/响应后是否需要持久连接;值为Close时:告诉服务器发送响应文件后关闭连接;值为Keep-Alive时:告诉服务器完成本次请求响应后,保持连接。Host:指定被请求资源的Internet主机和端口号,通常从URL中提取出;如:使用缺省端口号80。Cookie:如下例请求信息中就利用Cookie传递SessionID上。,请求头部(续),请求报文示例,GET/js/2345HTTP/1.1rn请求使用了相对的URLAccept:*/*rn用户希望得到的文档的类型Referer:,GET方式和POST方式,POST方式:只有在网页上form表单的method属性设置为POST时才采用。GET方式(有三种可能情况):1)在浏览器地址栏直接输入URL地址;2)单击网页上的超链接;3)网页上form表单的method属性设置为GET。两种方法的主要区别:Get请求安全性差,可被Web服务器的日志以明文方式记录,加密套接字协议SSL仅加密传输中的数据;传输数据量也有限制。,POST将表单的各参数及参数值使用HTTP实体传输,不会被Web服务器记录,虽然信息仍以明文传输,但可用SSL协议进行加密传输。一般最好用POST方法,。,响应报文,响应报文是从服务器到客服的回答,格式如下:,状态行,所有HTTP响应的第一行都是状态行,它由3部分组成:当前HTTP版本号,3位数字的状态代码,描述状态的短语;状态码:表示响应类型,分为5类可能取值有:1xx:指示信息。表示请求已接收,继续处理。2xx:成功。表示请求已被成功接收、理解、接受。3xx:重定向。要完成请求必须进行更进一步的操作。4xx:客户端错误。请求有语法错误或请求无法实现。5xx:服务器端错误。服务器未能实现合法的请求。,响应消息头,常见的响应消息头字段:Server:返回服务器的名称和版本号;如:Apache/2.2.10。Content-Type:发送给接收者的实体正文的媒体类型。例如:Content-Type:text/html。Content-Encoding:报文实体使用的压缩方法。Content-Length:实体正文的长度,十进制的字节数。Location:响应报头域用于重定向接受者到一个新的位置。Last-Modified:资源的最后修改日期和时间。Connection:告诉浏览器连接状态。,Web(HTTP)服务器概述,Web服务器通常也称HTTP服务器Web服务器仅能提供静态页面,不能直接访问数据库。它提供在Internet或Intranet上的HTML文档服务,即将网站发布到Internet上,供客户使用浏览器访问网站信息的网页。HTTP(Web)服务器工作原理:Web服务器:在启动Web服务器软件后,在服务器上就产生了一个守护进程,一直侦听服务器TCP80端口的来自客户机使用浏览器发出的HTTP请求。处理客户端请求:客户机向Web服务器发出一个HTTP请求,服务器的守护进程侦听到TCP80端口有请求后,Web服务器就将该网站的主页文件作为应答信息,通过Internet发回给该客户机的浏览器。显示响应:浏览器接受到主页文件后,解释网页中的HTML命令语言,将网页中包含的信息依次显示在屏幕上,浏览客户就可以在客户机的显示器上看到要访问网站的主页信息了。,应用服务器(中间件),应用服务器(中间件)可以直接访问数据库,因此可以实现企业的业务逻辑,提供动态页面的支持。应用服务器中间件又称应用服务器软件平台。应用服务器可把不同的应用软件作为构件整合到一个协同工作的环境中,并为应用提供名字、事务、安全、消息、数据访问等服务,还提供应用构件的开发、部署、运行及管理功能。Web服务器处理静态信息页面,应用服务器(中间件)处理动态语言,并能存取数据库的页面信息。应用服务器完成业务逻辑,用业务处理数据替换嵌入在HTML中的动态语言部分,再由Web服务器传递到客户端;客户端解析HTML指令,将输出内容显示在客户端的屏幕上;,Java应用中常用的Web应用服务器,Tomcat():它是一个免费的、开放源代码的Web应用服务器,是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他公司及个人共同开发而成。,Tomcat主要特点:Tomcat服务器在运行时占用系统资源小、扩展性好、支持负载平衡与邮件服务等常用功能,是较流行的Web应用服务器。Tomcat只实现了Web容器,没有实现EJB容器。Tomcat使用JSP动态网页语言编写网页,JSP在第一次调用后自动编译成servlet,网页中以后就调用servlet而不是JSP执行其代码。Tomcat和其他支持的Java应用服务器一样,能跨越各种平台,运行速度快。Tomcat不仅能处理动态HTML,还能处理静态HTML,但是处理静态HTML的效力不如ApacheHTTP服务器,因此在Tomcat之前一般安装ApacheHT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度企业绿植租赁与绿色办公环境合同
- 二零二五年农业绿色生产化肥农药种子采购合同
- 2025版高空作业施工围挡安全合同范本
- 2024食品安全考试试题及答案
- 2025年广东省继续教育公需课《高质量发展》考核试题及答案
- 装卸作业效率优化研究-洞察及研究
- 幼儿园语言文字知识竞赛试题(附答案)
- 四年级数学(四则混合运算带括号)计算题专项练习与答案汇编
- 电信用户远程医疗服务拓展创新创业项目商业计划书
- 智能矿山供应链数据分析创新创业项目商业计划书
- 年处置12000吨含汞废物改建项目环评资料环境影响
- 乳腺炎个案护理
- JJG 1205-2025直流电阻测试仪检定规程
- 路基施工安全教育培训
- 阳气教学课件
- 2025-2030年中国财务管理系统行业市场发展分析及发展趋势与投资前景研究报告
- 环卫工作进度管理制度
- 2025年国家能源集团陕西公司招聘笔试冲刺题(带答案解析)
- 某学院教育事业发展十五五规划概述
- 工厂产品交付管理制度
- 果蔬项目可行性研究报告模板及范文
评论
0/150
提交评论