坚持为客户提供有价值的服务和内容

Web数据库访问原理

商企云 | 2021-07-06 | 分享至:
北京网站设计公司商企云:一般实现Web数据库系统的连接和应用可采取两种方法:一种是在Web服务器端提供中间件来连接Weh服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面,通过Weh服务器返回给web浏览器。最基本的中间件技术有公共网关接口(Common Gareway Interfaee,CGI)和应用程序接口(Appliearion programmer Interfaee,ApI)两种。 Web数据库技术采用三层或多层体系结构,前端采用基于瘦客户机的浏览器技术,通过Web服务器及中间件访问数据库,如图5-19所示。
目前,主要应用的Web数据库访问技术包括以下几个方面。 1.公共网关接口技术CGI CGI是Web服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时可以生成HTML文档,并将文档返回Web服务器。CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信。如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据存人数据库。几乎所有的服务器软件都支持CGI,开发者可以使用任何一种Web服务器内置语言编写CGI,其中包括流行的C、C++、Visual Basie和Delphi等。按照应用环境的不同,CGI又可以分为标准CGI和间接CCI。 标准CGI使用命令行参数或环境变量来表示服务器的详细请求,服务器与浏览器间的通信采用标准输人输出方式。当服务器接收浏览器发来的CGI请求时,服务器对该请求进行分析,设置所需的环境变量或命令参数,然后创建一个子进程启动CGI程序,CGI执行完毕后,使用标准输出将执行结果返回给服务器。CGI的输出可以有许多类型,例如,HTML文档、图像、纯文本或声音文件等,它还可以输出指向其他文档的链接。 间接CGI又称为缓冲CGI,或者WinCGI。在CGI程序(不支持标准输人输出)和CGI接口之间插人一个缓冲程序,缓冲程序与CGI接口间用标准输人输出进行通信。这样。CGI程序采用缓冲区(临时文件)而不是标准输人/输出来进行数据通信。当服务器接收到浏览器的请求时,创建一个子进程启动缓冲程序,缓冲子进程与服务器进行通信。它通过标准输人阵俞出、命令行参数和环境变量获得有关数据,并将这些数据保存在一输人缓冲区中。然后缓冲子进程再创建一个子进程启动CGI程序,CGI程序读取输人缓冲区的内容,处理浏览器的请求,将输出的内容保存在输出缓冲区中。缓冲进程通过命令行参数或环境变量等方式,传送输人缓冲区和输出缓冲区的地址(或临时文件)到CGI子进程。缓冲进程与CGI子进程保持同步以监测CGI程序的执行状态。当缓冲进程得到CGI子进程的输出时,设置有关环境并终止该子进程,然后通过标准输出与服务通信,通过服务器CGI程序的输出结果返回给浏览器。相似地,服务器进程与缓外进程也应保持同步以监测缓冲进程执行的状态。间接CGI最明显的特点是服务器与CGI程序间的数据交换是通过缓冲区而不是标准输人输出进行的。 可以看出,CGI程序应用是作为一个独立的外部应用来运行的,与服务器上的其他进程竞争处理器资源,这将导致运行速度减慢。而且,用CGI开发支持Web应用程序也是一个比较困难的过程。开发人员不仅要掌握HTML语言,还要掌握低级编程语言。CGI的另外一个众所周知的缺陷是不提供状态管理功能,如果没有状态管理,那么浏览器的每一次请求,都需要一个连接的建立与释放的过程,效率较低。另外,必须用某个特定数据库服务器的专用SQL语言来手工编写数据库接口,其移植性也不好。 2.专用API 目前生产Web服务器和数据库服务器的各大公司纷纷推出各自专用的API进行Web与数据库的连接。Netscape公司推出了NSAPI。微软公司推出了用于连接其Weh服务器IIS与数据库的ISAPI。Oracle使用标准的Wel)公共网关接口,将其PL/SQL开发环境与Web连接在一起,使用Oracle Web Server,通过weh客户机可直接调用Oracle的存储过程来生成动态的Web文档。sybase的Web .sql把Web服务器和sybase sQL server及其他的数据库环境(通过Omni Connect)集成在一起,在使用CGI与Web服务器进行协作的同时,还可以使用Netseape的NSAPI直接与Web服务器连接。运用InforMix的WebDataBade模块就无须再进行传统的CGI编程,它将所有的Web结点内容和应用逻辑集中存储在服务器中,可以很容易地建立动态的、多媒体功能丰富的Web应用。 3.服务器端脚本编程技术 当前较流行的几种有代表性的服务器端的脚本编程技术是ASP(ACtive Server Page)、PHP(Personal Home Page)和JSP(Java Server Pages)。 ASP是微软公司于1996年11月推出的Web应用程序开发技术。在有关文档中ASP被描述为:一个服务器端的脚本环境,可以生成和运行动态的、交互的、高性能的Weh服务器应用程序。ASP是目前公认的建立 Windows NT动态站点最好的工具。它与ADO(Active Data Object)的充分结合,提供了强大的数据库访问功能,成为了进行网上数据库管理的重要手段。 Asp内含IIS当中,提供一个服务器端(server-side)的seripting环境。站点服务器会自动将ASP的程序码,解释为标准HTML格式的主页内容,再送到用户端的浏览器上显示出来。用户端只要使用常规可执行HTML码的浏览器,即可浏览。 ASP虽然具有强大优势,但它在安全性上仍存在一些问题,例如,可能引起NT内存泄露,以及最初只能在Windows 9x/NT/2000环境下运行等。对于前者,微软公司已经推出了补丁程序,以弥补它的不足;而对于后者,已经有人开发了在非微软的Wel)服务器上支持AsP语言的软件,如Apache_ASP、chiliSoft ASP等,可以在Red Hat、SuSE等操作系统下运行AsP脚本。数据库的支持包含了Oracle、sybase、MysQL等。 PHP是一种基于服务器端来创建动态网页的嵌人式脚本语言。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP,然而PHP和ASP不同之处在于PHP开放源码和跨越平台,PHP可以远行在Windows NT和多种版本的UNIX上。它大量地借用C、Java和Perl语言的语法,并结合PHP自己的特性,较Web开发者能够快速地写出动态页面。它支持目前绝大多数数据库,是开发企业网站的利器。PHP是完全免费的,使用者可以自由下载,甚至可以不受限制地获得源代码,加进自己需要的特色。 JSP是Sun公司倡导的、许多公司参与一起建立的一种新一代网站开发语言。它完全解决了目前ASP、PHP的通病-脚本级执行。JSP可以在ServerIet和JavaBean的支持下,完成功能强大的站点程序。 ASP、PHP和JSP各有所长,学习者可以选择某种适合自己的技术来进一步学习。 本文发布于UEO营销型网站建设公司商企云http://www.1558.cn/
扫二维码与项目经理沟通

7*24小时为您服务

解答:网站优化,网站建设,APP开发,小程序开发,H5开发,品牌推广,新闻推广,舆情监测等

  非常感谢您有耐心的读完这篇文章:"Web数据库访问原理",更多内容请继续浏览,我们将为您提供更多参考使用或学习交流的信息。我们还可为您提供:网站建设与开发网站优化品牌推广、APP开发、小程序开发新闻推广等服务,我们以“降低营销成本,提高营销效果”的服务理念,自创立至今,已成功服务过不同行业的1000多家企业,获得国家高新技术企业认证,且拥有14项国家软件著作权,将力争成为国内企业心目中值得信赖的互联网产品及服务提供商。如您需要合作,请扫码咨询,我们将诚挚为您服务。
我要咨询
姓名 :
电话 :
文章分类