從技術發展的角度來看,以前通過瀏覽器訪問數據庫的惟一渠道是CGI方式。隨后出現了SAPI和JDBC等技術方案,近來又流行ASP技術。下面對這些技術逐一進行介紹。 CGI是Web服務器運行時外部程序的規范,按照CGI編寫的程序可以擴展服務器的功能,完成服務器本身不能完成的工作,外部程序執行時可以生成HTML文檔,并將文檔返回Web服務器。CGI應用程序能夠與瀏覽器進行交互作用,還可以通過數據庫的API與數據庫服務器等外部數據源進行通信,如一個CGI程序可以從數據庫服務器中獲取數據,然后格式化為HTML文檔后發送給瀏覽器,也可以將從張家口網站制作瀏覽器獲得的數據放到數據庫中。幾乎所有的服務器軟件都支持CGI,開發者可以使用任何一種Web服務器內置語言編寫CGI,其中包括流行的C、C++、VB和Delphi等。按照應用環境的不同,CGI又可以分為標準CGI和間接CGI。 CGI程序應用是作為一個獨立的外部應用來運行的,與服務器上的其他程序競爭處理器資源,這將導致運行速度減慢。而且,用CGI開發支持Web的應用也是一個比較困難的過程。開發人員不僅要掌握HTML語言,還要掌握低級編程語言。而在Web服務器訪問數據庫過程中,連接狀態的管理也是很重要的。如果沒有狀態管理,那么瀏覽器的每一次請求,都需要一個連接的建立與釋放的過程,效率較低。CGI不提供狀態管理功能,另外,必須用某個特定數據庫服務器的專用SQL語言來手工編寫數據庫接口,其移植性也不好。由于CGI存在性能較低、編程困難等缺點,現在許多Web服務器軟件廠商已經開發出各自服務器的SAPI,以克服CGI性能方面的缺陷。服務器SAPI一般作為一個DLL提供,是駐留在Web服務器中的程序代碼,其擴展Web服務器的功能與CGI相同。W張家口哪有做網站eb開發人員不僅可以利用SAPI解決CGI可以解決的一切問題,而且能夠進一步解決基于不同Web應用程序的特殊請求。各種API與其相應的Web服務器緊密結合,促使開發目標服務器的運行性能進一步發掘、提高。用API開發的程序比用CGI開發的程序在性能上提高了很多,但開發SAPI程序比開發CGI程序要復雜得多。SAPI應用程序需要一些編程方面的專門知識,如多線程、進程同步、直接協議編程以及錯誤處理等。 Java的推出,使Web有了活力和動感。Internet用戶可以從Web服務器上下載Java小程序到本地瀏覽器上運行。這些下載的小程序就像本地程序一樣,可獨立地訪問本地和其服務器資源,而最初的Java語言并沒有數據庫訪問的功能,隨著應用的深入,要求Java提供數據庫訪問功能的呼聲越來越高。為了防止出現對Java在數據庫訪問方面各不相同的擴展,JavaSoft公司制定了JDBC,作為Java語言的數據庫訪問API。JDBC是第一個標準的、支持Java數據庫的API,它使得Java程序與數據庫連接更為容易。JDBC在功能上與ODBC相同,給開發人員提供一個統一的數據庫訪問接口。目前,JDBC已經得到了許多廠商的支持,包括Borland、IBM、Oracle和Sybase等公司。當前流行的大多數數據庫系統都推出了自己的JDBC驅動程序。
|