API安全性的重要性 (API安全性)


API安全性的重要性

一、引言

随着信息技术的快速发展,API(应用程序接口)已成为现代软件开发的重要组成部分。
API作为不同软件之间的桥梁,为数据交互提供了便捷的途径。
随着API的广泛应用,其安全性问题也日益突出。
API安全性的重要性不仅关乎企业数据的安全,还涉及个人隐私及国家安全。
因此,本文将探讨API安全性的重要性及其相关方面。

二、API安全性的定义

API安全性指的是保护API免受未经授权的访问、攻击和数据泄露的能力。
这包括身份验证、授权、数据保密性和完整性等方面的要求。
确保API安全是保护企业资产、用户数据和系统资源的关键环节。

三、API安全性的重要性

1. 保护企业数据安全

随着企业业务的数字化程度不断提高,大量数据通过API进行交互。
如果API存在安全隐患,可能导致黑客利用漏洞攻击企业系统,窃取重要数据,给企业造成巨大损失。
因此,确保API安全性是保护企业数据安全的关键。

2. 维护用户隐私

API经常处理用户的个人信息和敏感数据。
如果API安全性不足,可能导致用户信息泄露,侵犯用户隐私。
这不仅损害用户的利益,还可能引发法律纠纷,对企业声誉造成负面影响。

3. 防止系统被攻击

API作为连接不同系统的桥梁,如果受到攻击,可能导致整个系统的瘫痪。
例如,DDoS攻击通过针对API发起大量请求,使系统无法响应正常请求,从而导致服务中断。
确保API安全性可以有效防止这类攻击,保障系统的稳定运行。

4. 保障企业业务正常运行

API是企业业务的重要组成部分,如果API遭受攻击或存在安全隐患,可能导致业务中断或降低效率。
这将对企业的业务发展产生严重影响。
因此,确保API安全性是保障企业业务正常运行的关键。

5. 提升企业竞争力

在竞争激烈的市场环境中,企业的数据安全、用户隐私和系统稳定性对于企业的竞争力至关重要。
如果企业在API安全性方面表现优秀,将赢得客户和合作伙伴的信任,从而提升企业的竞争力。

四、API安全性的挑战与对策

1. 挑战

(1)技术更新迅速:随着技术的发展,API安全攻击的手段也在不断更新。
这要求企业不断更新安全技术,以适应新的安全挑战。

(2)用户错误:许多API安全漏洞是由于用户错误造成的,如弱密码、不当的权限管理等。
这需要提高用户的安全意识和操作技能。

(3)合规性要求:不同行业和地区对API安全性有不同的法规要求。
企业需要了解并遵守这些法规,以确保合规性。

2. 对策

(1)加强技术研发:企业应投入更多资源研发安全技术,提高API的安全性。

(2)提高用户安全意识:通过培训和教育,提高用户的安全意识和操作技能,减少因用户错误导致的安全漏洞。

(3)建立合规体系:企业应了解并遵守相关法规,建立合规体系,确保API的安全性符合法规要求。

(4)采用第三方服务:企业可以采用专业的第三方服务,如API安全平台,提高API的安全性。

五、结语

API安全性的重要性不容忽视。
企业应重视API安全性的保障工作,加强技术研发,提高用户安全意识,建立合规体系,以确保API的安全性。
这不仅是保护企业数据安全、用户隐私和系统稳定性的需要,也是提升企业竞争力的关键。


简述web技术的结构

它是超级文本的简称。 二、超媒体(hypermedia) 超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。 它是超级媒体的简称。 用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。 Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。 Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。 而是可以从一个位置跳到另外的位置。 可以从中获取更多的信息。 可以转到别的主题上。 想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。 正是这种多连接性把它称为Web。 三、超文本传输协议(HTTP) Hypertext Transfer Protocol超文本在互联网上的传输协议。 当你想进入万维网上一个网页, 或者其他网络资源的时候,通常你要首先在你的浏览器上键入你想访问网页的统一资源定位符(UniformResourceLocator),或者通过超链接方式链接到那个网页或网络资源。 这之后的工作首先是URL的服务器名部分,被名为域名系统的分布于全球的因特网数据库解析,并根据解析结果决定进入哪一个IP地址(IP address)。 接下来的步骤是为所要访问的网页,向在那个IP地址工作的服务器发送一个HTTP请求。 在通常情况下,HTML文本、图片和构成该网页的一切其他文件很快会被逐一请求并发送回用户。 网络浏览器接下来的工作是把HTML、CSS和其他接受到的文件所描述的内容,加上图像、链接和其他必须的资源,显示给用户。 这些就构成了你所看到的“网页”。 大多数的网页自身包含有超链接指向其他相关网页,可能还有下载、源文献、定义和其他网络资源。 像这样通过超链接,把有用的相关资源组织在一起的集合,就形成了一个所谓的信息的“网”。 这个网在因特网上被方便使用,就构成了最早在1990年代初蒂姆·伯纳斯-李所说的万维网。 传统的Web数据库系统体系结构 传统的Web数据库系统一般实现Web数据库系统的连接和应用可采取两种方法,一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。 中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面。 通过Web服务器返回给Web浏览器。 最基本的中间件技术有通过网关接口CGI和应用程序接口API两种。 (一)、基于通用网关接口CGI CGI是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档,并将文档返回WWW服务器。 CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。 几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C、VB和Delphi等。 从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求,Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。 再由Web服务器返回给Web浏览器。 这种结构体现了客户/服务器方式的三层模型,其中Web服务器和CGI程序实际起到了HTML和SQL转换的网关的作用。 CGI的典型操作过程是:分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。 基于Web的数据库访问利用已有的信息资源和服务器。 其访问频率大,尤其是热点数据。 但其主要的缺点是:①客户端与后端数据库服务器通信必须通过Web服务器,且Web服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。 ②CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;③CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。 为每个请求都生成进程既费时又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;④由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难;⑤安全性差,缺少用户访问控制,对数据库难以设置安全访问权限;⑥HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。 (二)、基于服务器扩展的API 为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。 与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。 服务器API一般作为一个DLL提供,是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。 WWW开发人员不仅可以API解决CGI可以解决的一切问题,而且能够进一步解决基于不同WWW应用程序的特殊请求。 各种API与其相应的WWW服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。 用API开发的程序比用CGI开发的程序在性能上提高了很多,但开发API程序比开发CGI程序要复杂得多。 API应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。 目前主要的WWWAPI有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。 使用ISPAI开发的程序性能要优于用CGI开发的程序,这主要是因为ISAPI应用程序是一些与WWW服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。 而NSAPI同ISAPI一样,给WWW开发人员定制了NetscapeWWW服务器基本服务的功能。 开发人员利用NSAPI可以开发与WWW服务器的接口,以及与数据库服务器等外部资源的接口。 虽然基于服务器扩展API的结构可以方便、灵活地实现各种功能,连接所有支持32位ODBC的数据库系统,但这种结构的缺陷也是明显的:①各种API之间兼容性很差,缺乏统一的标准来管理这些接口;②开发API应用程序也要比开发CGI应用复杂得多; ③这些API只能工作在专用Web服务器和操作系统上。 (三)、基于JDBC的Web数据库技术 Java的推出,使WWW页面有了活力和动感。 Internet用户可以从WWW服务器上下载Java小程序到本地浏览器运行。 这些下载的小程序就像本地程序一样,可独立地访问本地和其他服务器资源。 而最初的Java语言并没有数据库访问的功能,随着应用的深入,要求Java提供数据库访问功能的呼声越来越高。 为了防止出现对Java在数据库访问方面各不相同的扩展,JavaSoft公司指定了JDBC,作为Java语言的数据库访问API。 采用JDBC技术,在JavaApplet中访问数据库的优点在于:直接访问数据库,不再需要Web数据库的介入,从而避开了CGI方法的一些局限性;用户访问控制可以由数据库服务器本地的安全机制来解决,提高了安全性;JDBC是支持基本SQL功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界面,为跨平台跨数据库系统进行直接的Web访问提供了方案。 从而克服了API方法一些缺陷;同时,可以方便地实现与用户地交互,提供丰富的图形功能和声音、视频等多媒体信息功能。 JDBC是用于执行SQL语句的Java应用程序接口API,由Java语言编写的类和接口组成。 Java是一种面向对象、多线程与平台无关的编程语言,具有极强的可移植性、安全性和强健性。 JDBC是一种规范,能为开发者提供标准的数据库访问类和接口,能够方便地向任何关系数据库发送SQL语句,同时JDBC是一个支持基本SQL功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及API。 所有这些工作都建立在X/Open SQL CLI基础上。 JDBC的主要任务是定义一个自然的Java接口来与X/OpenCLI中定义的抽象层和概念连接。 JDBC的两种主要接口分别面向应用程序的开发人员的JDBC API和面向驱动程序低层的JDBC DriverAPI。 JDBC完成的工作是:建立与数据库的连接;发送SQL语句;返回数据结果给Web浏览器。

简述web技术的结构

一、超文本(hypertext) 一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。 它是超级文本的简称。 二、超媒体(hypermedia) 超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。 它是超级媒体的简称。 用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。 internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个internet 上。 web就是一种超文本信息系统,web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。 而是可以从一个位置跳到另外的位 置。 可以从中获取更多的信息。 可以转到别的主题上。 想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。 正是这种多连接 性把它称为web。 三、超文本传输协议(http) hypertext transfer protocol超文本在互联网上的传输协议。 当你想进入万维网上一个网页, 或者其他网络资源的时候,通常你要首先在你的浏览器上键入你想访问网页的统一资源定位符(uniform resource locator),或者通过超链接方式链接到那个网页或网络资源。 这之后的工作首先是url的服务器名部分,被名为域名系统的分布于全球的因特网数据库解 析,并根据解析结果决定进入哪一个ip地址(ip address)。 接下来的步骤是为所要访问的网页,向在那个ip地址工作的服务器发送一个http请求。 在通常情况下,html文本、图片和构成该网页的一切其他文件很快会被逐一请求并发送回用户。 网络浏览器接下来的工作是把html、css和其他接受到的文件所描述的内容,加上图像、链接和其他必须的资源,显示给用户。 这些就构成了你所看到的“网页”。 大多数的网页自身包含有超链接指向其他相关网页,可能还有下载、源文献、定义和其他网络资源。 像这样通过超链接,把有用的相关资源组织在一起的集合,就形成了一个所谓的信息的“网”。 这个网在因特网上被方便使用,就构成了最早在1990年代初蒂 姆·伯纳斯-李所说的万维网。 传统的web数据库系统体系结构 传统的web数据库系统一般实现web数据库系统的连接和应用可采取两种方法, 一种是在web服务器端提供中间件来连接web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。 中间件负责管理web服 务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态html页面,或执行 用户查询,并将查询结果格式化成html页面。 通过web服务器返回给web浏览器。 最基本的中间件技术有通过网关接口cgi和应用程序接口api两种。 (一)、基于通用网关接口cgi cgi是www服务器运行时外部程序的规范,按照cgi编写的程序可以扩展服务器的功能,完成 服务器本身不能完成的工作,外部程序执行时间可以生成html文档,并将文档返回www服务器。 cgi应用程序能够与浏览器进行交互作用,还可以通过数据 库的api与数据库服务器等外部数据源进行通信,如一个cgi程序可以从数据库服务器中获取数据,然后格式化为html文档后发送给浏览器,也可以将从浏 览器获得的数据放到数据库中。 几乎使用的服务器软件都支持cgi,开发人员可以使用任何一种www服务器内置语言编写cgi,其中包括流行的c、c 、vb和delphi等。 从体系结构上来看,用户通过web浏览器输入查询信息,浏览器通过http协议向web服务器 发出带有查询信息的请求,web服务器按照cgi协议激活外部cgi程序,由该程序向dbms发出sql请求并将结果转化为html后返回给web服务 器。 再由web服务器返回给web浏览器。 这种结构体现了客户/服务器方式的三层模型,其中web服务器和cgi程序实际起到了html和sql转换的网 关的作用。 cgi的典型操作过程是:分析cgi数据;打开与dbms的连接;发送sql请求并得到结果;将结果转化为html;关闭dbms的连接;将 html结果返回给web服务器。 基于web的数据库访问利用已有的信息资源和服务器。 其访问频率大,尤其是热点数据。 但其主要 的缺点是:①客户端与后端数据库服务器通信必须通过web服务器,且web服务器要进行数据与html文档的互相转换,当多个用户同时发出请求时,必然在 web服务器形成信息和发布瓶颈。 ②cgi应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;③cgi应用程序不能由多个客户机请求共享,即 使新请求到来时cgi程序正在运行,也会启动另一个cgi应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。 为每个请求都生成进程既费时 又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;④由于sql与html差异很大,cgi程序中的转换代码编写繁琐,维护困难;⑤安 全性差,缺少用户访问控制,对数据库难以设置安全访问权限;⑥http协议是无状态且没有常连接的协议,dbms事务的提交与否无法得到验证,不能构造 web上的oltp应用。 (二)、基于服务器扩展的api 为了克服cgi的局限性,出现的另一种中间件解决方案是基于服务器扩展api的结构。 与cgi相比,api应用程序与web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。 服务器api一般作为一个dll提供,是驻留在www服务器中的程序代码,其扩展www服务器 的功能与cgi相同。 www开发人员不仅可以api解决cgi可以解决的一切问题,而且能够进一步解决基于不同www应用程序的特殊请求。 各种api与其 相应的www服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。 用api开发的程序比用cgi开发的程序在性能上提高了很多,但开发 api程序比开发cgi程序要复杂得多。 api应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。 目前主要的www api有microsoft公司的isapi、netscape公司的nsapi和oreily公司的wsapi等。 使用ispai开发的程序性能要优于 用cgi开发的程序,这主要是因为isapi应用程序是一些与www服务器软件处于同一地址空间的dll,因此所有的http服务器进程能够直接利用各种 资源这显然比调用不在同一地址空间的cgi程序语句要占用更少的系统时间。 而nsapi同isapi一样,给www开发人员定制了netscape www服务器基本服务的功能。 开发人员利用nsapi可以开发与www服务器的接口,以及与数据库服务器等外部资源的接口。 虽然基于服务器扩展api的结构可以方便、灵活地实现各种功能,连接所有支持32位odbc的 数据库系统,但这种结构的缺陷也是明显的:①各种api之间兼容性很差,缺乏统一的标准来管理这些接口; ②开发api应用程序也要比开发cgi应用复杂得多; ③这些api只能工作在专用web服务器和操作系统上。 (三)、基于jdbc的web数据库技术 java的推出,使www页面有了活力和动感。 internet用户可以从www服务器上下载 java小程序到本地浏览器运行。 这些下载的小程序就像本地程序一样,可独立地访问本地和其他服务器资源。 而最初的java语言并没有数据库访问的功能, 随着应用的深入,要求java提供数据库访问功能的呼声越来越高。 为了防止出现对java在数据库访问方面各不相同的扩展,javasoft公司指定了 jdbc,作为java语言的数据库访问api。 采用jdbc技术,在java applet中访问数据库的优点在于:直接访问数据库,不再需要web数据库的介入,从而避开了cgi方法的一些局限性;用户访问控制可以由数据库服务器 本地的安全机制来解决,提高了安全性;jdbc是支持基本sql功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界 面,为跨平台跨数据库系统进行直接的web访问提供了方案。 从而克服了api方法一些缺陷;同时,可以方便地实现与用户地交互,提供丰富的图形功能和声 音、视频等多媒体信息功能。 jdbc是用于执行sql语句的java应用程序接口api,由java语言编写的类和接口组 成。 java是一种面向对象、多线程与平台无关的编程语言,具有极强的可移植性、安全性和强健性。 jdbc是一种规范,能为开发者提供标准的数据库访问类 和接口,能够方便地向任何关系数据库发送sql语句,同时jdbc是一个支持基本sql功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及 api。 所有这些工作都建立在x/open sql cli基础上。 jdbc的主要任务是定义一个自然的java接口来与x/open cli中定义的抽象层和概念连接。 jdbc的两种主要接口分别面向应用程序的开发人员的jdbc api和面向驱动程序低层的jdbc driver api。 jdbc完成的工作是:建立与数据库的连接;发送sql语句;返回数据结果给web浏览器。 基于jdbc的web数据库结构其缺陷在于:只能进行简单的数据库查询等操作,还不能进行oltp;安全性、缓冲机制和连接管理仍不完善;sun承诺的完全跨平台跨数据库系统的功能和标准远未实现。

web的版本区别

Web 2.0是关于互联网上的下一代应用程序,特点是用户产生内容,合作化,社区化。 任何人可以参与到内容的创建中。 在YouTube上上传一个视频,在 Flickr上上传参加聚会的照片,或者在Blogspot上写自己的政治见解,所有这些都不需要专门技术,仅仅需要连接上互联网。 参与改变了我们对于内容的理解:内容不是固定在发布商那里,它是活动在任何地方的。 Google的AdSense带来了一个即时的商业模式,尤其对于博客作者,并且视频共享网站已经重写了流行文化和内容过滤的规则。 当你围绕Web1.0或者2.0创业的时候,建设一个安全的,可扩展的数据中心并不是一项容易的工作。 对于进入把软件当成服务的行业,大量的时间和资本依 旧是进入的一个门槛。 而且,传统的客户端-服务器的软件开发依然复杂。 并且创建一个成功的应用程序还需要辛勤的部署和维护。 Web 3.0通过改变传统软件行业的技术和经济基础来改变现有的一切。 新的Web 3.0强调的是任何人,在任何地点都可以创新。 代码编写,协作,调试,测试,部署,运行都在云计算上完成。 当创新从时间和资本的约束中解脱出来,它就可以欣欣向荣。 对于企业来说,Web 3.0意味着SaaS程序可以比传统的C-S软件更快,更高效的开发,部署,升级。 对于开发者来说,Web 3.0意味着他们需要创建一个理想的应用程序东西需要的仅仅是一个想法,一个浏览器。 因为世界上的每一个开发人员都可以访问强大的云计算,Web 3.0是全球经济的推动力。 对于独立软件开发商,Web 3.0意味着他们可以花费更多的时间专注提供给客户的核心价值上,而不是支持它的基础架构。 因为代码生长在云计算上,全球的精英可以为它做贡献。 因为它运行在云计算上,全球的市场都可以把它作为服务来订阅。 CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档,并将文档返回WWW服务器。 CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。 几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C 、VB和Delphi等。 从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求,Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。 再由Web服务器返回给Web浏览器。 这种结构体现了客户/服务器方式的三层模型,其中Web服务器和CGI程序实际起到了HTML和SQL转换的网关的作用。 CGI的典型操作过程是:分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。 基于Web的数据库访问利用已有的信息资源和服务器。 其访问频率大,尤其是热点数据。 但其主要的缺点是:①客户端与后端数据库服务器通信必须通过Web服务器,且Web服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。 ②CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;③CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。 为每个请求都生成进程既费时又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;④由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难;⑤安全性差,缺少用户访问控制,对数据库难以设置安全访问权限;⑥HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。 为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。 与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。 服务器API一般作为一个DLL提供,是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。 WWW开发人员不仅可以API解决CGI可以解决的一切问题,而且能够进一步解决基于不同WWW应用程序的特殊请求。 各种API与其相应的WWW服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。 用API开发的程序比用CGI开发的程序在性能上提高了很多,但开发API程序比开发CGI程序要复杂得多。 API应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。 主要的WWW API有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。 使用ISPAI开发的程序性能要优于用CGI开发的程序,这主要是因为ISAPI应用程序是一些与WWW服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。 而NSAPI同ISAPI一样,给WWW开发人员定制了Netscape WWW服务器基本服务的功能。 开发人员利用NSAPI可以开发与WWW服务器的接口,以及与数据库服务器等外部资源的接口。 虽然基于服务器扩展API的结构可以方便、灵活地实现各种功能,连接所有支持32位ODBC的数据库系统,但这种结构的缺陷也是明显的:①各种API之间兼容性很差,缺乏统一的标准来管理这些接口; ②开发API应用程序也要比开发CGI应用复杂得多; ③这些API只能工作在专用Web服务器和操作系统上。 Java的推出,使WWW页面有了活力和动感。 Internet用户可以从WWW服务器上下载Java小程序到本地浏览器运行。 这些下载的小程序就像本地程序一样,可独立地访问本地和其他服务器资源。 而最初的Java语言并没有数据库访问的功能,随着应用的深入,要求Java提供数据库访问功能的呼声越来越高。 为了防止出现对Java在数据库访问方面各不相同的扩展,JavaSoft公司指定了JDBC,作为Java语言的数据库访问API。 采用JDBC技术,在Java Applet中访问数据库的优点在于:直接访问数据库,不再需要Web数据库的介入,从而避开了CGI方法的一些局限性;用户访问控制可以由数据库服务器本地的安全机制来解决,提高了安全性;JDBC是支持基本SQL功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界面,为跨平台跨数据库系统进行直接的Web访问提供了方案。 从而克服了API方法一些缺陷;同时,可以方便地实现与用户地交互,提供丰富的图形功能和声音、视频等多媒体信息功能。 JDBC是用于执行SQL语句的Java应用程序接口API,由Java语言编写的类和接口组成。 Java是一种面向对象、多线程与平台无关的编程语言,具有极强的可移植性、安全性和强健性。 JDBC是一种规范,能为开发者提供标准的数据库访问类和接口,能够方便地向任何关系数据库发送SQL语句,同时JDBC是一个支持基本SQL功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及API。 所有这些工作都建立在X/Open SQL CLI基础上。 JDBC的主要任务是定义一个自然的Java接口来与X/Open CLI中定义的抽象层和概念连接。 JDBC的两种主要接口分别面向应用程序的开发人员的JDBC API和面向驱动程序低层的JDBC Driver API。 JDBC完成的工作是:建立与数据库的连接;发送SQL语句;返回数据结果给Web浏览器。 基于JDBC的Web数据库结构其缺陷在于:只能进行简单的数据库查询等操作,还不能进行OLTP;安全性、缓冲机制和连接管理仍不完善;SUN承诺的完全跨平台跨数据库系统的功能和标准远未实现。


收藏

科技新星璀璨耀目:揭秘未来发展趋势十大热门领域!

寒山子在互联网时代的独特生活经历:https的视角 (寒山子是也)

评 论
请登录后再评论