WEB服务器端应用程序开发相关概念
(1).CGI:
1.Web服务器功能的扩展
通过调用服务器端的可执行程序来扩展web服务器的功能。CGI就是其中一种简单的、通用的扩展标准
2.网关:
web服务器作为互联网应用的基础平台,它实质上是一个网关,即介于多种协议之间的程序
web服务器由两个部分组成:
HTTP守候程序(HTTPd),完成web服务器的基本功能,包括:和客户建立连接;接受客户提交的HTTP请求消息,将HTTP响应消息返回给客户,关闭连接等。狭义的web服务器就是指这个部分
各种服务器端应用程序组成:这些应用程序作为HTTPd和其它外部系统之间的中介,完成服务器的扩展功能,平时所说的网关应用程序就是指这个部分
3.CGI规范
网关应用程序需要和HTTPd以及其它外部系统之间进行交互。在和其它外部系统之间进行交互时,需要遵循一定的协议,如ODBC、POP3等协议;同样网关应用程序和HTTPd之间的交互也要遵循一定的协议,即公共网关接口CGI
通常 谈到CGI这个词时,可能会有两种含义,一种指CGI规范,另一种指CGI应用程序
CGI规范规定了服务器端的网关应用程序如何从HTTPd获取客户端用户提交的信息,以及如何将处理结果返回给HTTPd或直接返回给客户端,从而实现动态页面。当网关应用程序遵循CGI规范和Web服务器进行交互时,这些网关应用程序也被称为CGI应用程序
CGI特点:
优点:功能强大,独立于webf服务器,独立于开发语言
缺点:响应速度,开发效率,安全性
(2).服务器端脚本:服务器端脚本的开发是在HTML文档中潜入脚本语言,该过程和和网页设计结合紧密,更为简单直观,CGI等应用程序需要用编程语言输出HTML格式的消息等,同时服务器端脚本不需要理解CGI/ISAPI等规范,只要访问脚本宿主提供的内置对象就可以读取客户端提交的信息或向客户端返回信息,因此,开发人员可以将注意力集中在商业逻辑上,而不需要过多的关注底层的交互协议和数据表示规范,能够显著地提高开发效率和维护效率