什么是WEBserver?什么是CGI


一、什么是WEBserver??

    Webserver能夠解析HTTP協議。當Webserver接收到一個HTTP請求,會返回一個HTTP響應,比如送回一個HTML頁面。為了處理一個請求Webserver能夠響應一個靜態頁面或圖片,進行頁面跳轉或者把動態響應的產生托付給一些其他的程序比如CGI腳本,JSP腳本,servlets,ASP腳本,server端JavaScript,或者一些其他的server端技術。不管它們(譯者注:腳本)的目的怎樣,這些server端的程序通常產生一個HTML的響應來讓瀏覽器能夠瀏覽。 

二、什么是CGI

CGI 是Web 服務器運行時外部程序的規范,按CGI 編寫的程序可以擴展服務器功能。CGI 應用程序能與瀏覽器進行交互,還可通過數據庫API 與數據庫服務器等外部數據源進行通信,從數據庫服務器中獲取數據。格式化為HTML文檔后,發送給瀏覽器,也可以將從瀏覽器獲得的數據放到數據庫中。幾乎所有服務器都支持CGI,可用任何語言編寫CGI,包括流行的C、C ++、VB 和Delphi 等。CGI 分為標准CGI 和間接CGI兩種。標准CGI 使用命令行參數或環境變量表示服務器的詳細請求,服務器與瀏覽器通信采用標准輸入輸出方式。間接CGI 又稱緩沖CGI,在CGI 程序和CGI 接口之間插入一個緩沖程序,緩沖程序與CGI 接口間用標准輸入輸出進行通信。

三、什么是Servlet

  Servlet是sun公司提供的一門用於開發動態web資源的技術。
  Sun公司在其API中提供了一個servlet接口,用戶若想用發一個動態web資源(即開發一個Java程序向瀏覽器輸出數據),需要完成以下2個步驟:
  1、編寫一個Java類,實現servlet接口。
  2、把開發好的Java類部署到web服務器中。
  按照一種約定俗成的稱呼習慣,通常我們也把實現了servlet接口的java程序,稱之為Servlet

   Servlet的運行過程

Servlet程序是由WEB服務器調用,web服務器收到客戶端的Servlet訪問請求后:
  ①Web服務器首先檢查是否已經裝載並創建了該Servlet的實例對象。如果是,則直接執行第④步,否則,執行第②步。
  ②裝載並創建該Servlet的一個實例對象。 
  ③調用Servlet實例對象的init()方法。
  ④創建一個用於封裝HTTP請求消息的HttpServletRequest對象和一個代表HTTP響應消息的HttpServletResponse對象,然后調用Servlet的service()方法並將請求和響應對象作為參數傳遞進去。
  ⑤WEB應用程序被停止或重新啟動之前,Servlet引擎將卸載Servlet,並在卸載之前調用Servlet的destroy()方法。 

四.經常使用的WEBserver有哪些?

     在UNIX和LINUX平台下使用最廣泛的免費HTTPserver是W3C、NCSA和APACHEserver,而Windows平台NT/2000/2003使用IIS的WEBserver。在選擇使用WEBserver應考慮的本身特性因素有:性能、安全性、日志和統計、虛擬主機、代理server、緩沖服務和集成應用程序等,以下介紹幾種經常使用的WEBserver。

 

Microsoft IIS
     Microsoft的Webserver產品為Internet Information Server (IIS), IIS 是同意在公共Intranet或Internet上公布信息的Webserver。IIS是眼下最流行的Webserver產品之中的一個,非常多著名的站點都是建立在IIS的平台上。IIS提供了一個圖形界面的管理工具,稱為 Internet服務管理器,可用於監視配置和控制Internet服務。

     IIS是一種Web服務組件,當中包含Webserver、FTPserver、NNTPserver和SMTPserver,分別用於網頁瀏覽、文件傳輸、新聞服務和郵件發送等方面,它使得在網絡(包含互聯網和局域網)上公布信息成了一件非常easy的事。它提供ISAPI(Intranet Server API)作為擴展Webserver功能的編程接口;同一時候,它還提供一個Internet數據庫連接器,能夠實現對數據庫的查詢和更新。

 

IBM WebSphere
     WebSphere Application Server 是 一 種功能完好、開放的Web應用程序server,是IBM電子商務計划的核心部分,它是基於 Java 的應用環境,用於建立、部署和管理 Internet 和 Intranet Web 應用程序。 這一整套產品進行了擴展,以適應 Web 應用程序server的須要,范圍從簡單到高級直到企業級。

     WebSphere 針對以 Web 為中心的開發者,他們都是在基本 HTTPserver和 CGI 編程技術上成長起來的。IBM 將提供 WebSphere 產品系列,通過提供綜合資源、可反復使用的組件、功能強大並易於使用的工具、以及支持 HTTP 和 IIOP 通信的可伸縮執行時環境,來幫助這些用戶從簡單的 Web 應用程序轉移到電子商務世界。

 

BEA WebLogic
     BEA WebLogic Server 是一種多功能、基於標准的web應用server,為企業構建自己的應用提供了堅實的基礎。各種應用開發、部署全部關鍵性的任務,不管是集成各種系統和數據庫,還是提交服務、跨 Internet 協作,起始點都是 BEA WebLogic Server。因為 它具有全面的功能、對開放標准的遵從性、多層架構、支持基於組件的開發,基於 Internet 的企業都選擇它來開發、部署最佳的應用。

     BEA WebLogic Server 在使應用server成為企業應用架構的基礎方面繼續處於率先地位。BEA WebLogic Server 為構建集成化的企業級應用提供了穩固的基礎,它們以 Internet 的容量和速度,在連網的企業之間共享信息、提交服務,實現協作自己主動化。

 

APACHE

     apache仍然是世界上用的最多的Webserver,市場占有率達60%左右。它源於NCSAhttpdserver,當NCSA WWWserver項目停止后,那些使用NCSA WWWserver的人們開始交換用於此server的補丁,這也是apache名稱的由來(pache 補丁)。世界上非常多著名的站點都是Apache的產物,它的成功之處主要在於它的源碼開放、有一支開放的開發隊伍、支持跨平台的應用(能夠執行在差點兒全部的Unix、Windows、Linux系統平台上)以及它的可移植性等方面。

 

Tomcat
     Tomcat是一個開放源碼、執行servlet和JSP Web應用軟件的基於Java的Web應用軟件容器。Tomcat Server是依據servlet和JSP規范進行執行的,因此我們就能夠說Tomcat Server也實行了Apache-Jakarta規范且比絕大多數商業應用軟件server要好。
     Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技術的標准實現,是基於Apache許可證下開發的自由軟件。Tomcat是全然重寫的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代碼,特別是Apache服務適配器。隨着Catalina Servlet引擎的出現,Tomcat第四版號的性能得到提升,使得它成為一個值得考慮的Servlet/JSP容器,因此眼下很多WEBserver都是採用Tomcat。
眼下,很多大型Web應用一般將Apache和Tomcat結合使用,Apache負責接收用戶的HTTP請求,假設請求是Servlet、Jsp,則把請求轉發給Tomcat處理,並將處理結果封裝響應給用戶。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM