网络数据库教程 - 第四天
Richard Dice
速成教程
网站设计
HTML
JavaScript
样式表
动态HTML
XML
图形与字体
多媒体
Java
后端编程
浏览器
电子商务
相关资源
Web 入门
软件下载
免费资源
源码集锦
相关连接
关于网猴


 

 

 

 

 

第一页 网络数据库教程 - 第四天

嵌入式网络编程理念

几年前,网络编程起始于公共网关接口(Common Gateway Interface)简称CGI。CGI的基本概念如下:

  1. 当一个用户发出一个CGI请求时,URL将加入一些信息让服务器将其按照CGI请求进行处理。URL加入的信息形式可能如下:
    • 用户请求的CGI一般在/cgi-bin/ 子目录:http://www.somewhere.com/cgi-bin/某个CGI程序
    • 网络服务器的配置可能会自动将某些文件的扩展名识别为可以执行的CGI程序:http://www.erehwon.org/gosearch.py.py 通常被理解为Python程序,这是另外一种很流行的网络编程语言。
    • 文件的扩展名可能直接采用CGI作为扩展名:http://www.xyz.net/dosomething.cgi
  2. 在这些情况中,网络服务器将用户请求交给URL指定的程序进行处理,并提供相应的信息:通常是环境变量和标准输入(STDIN)。
  3. 然后程序开始运行,生成子进程并生成相应的信息,然后将其发送给标准输出(STDOUT),通常程序会生成一个尽可能简短的HTTP头信息,作为其输出的一部分。
  4. 网络服务器将“捕捉”到的捕捉输出流发通过网络送给用户。用户的浏览器根据HTTP头将其进行翻译,其结果通常是HTML文本,但是CGI程序也可以很容易地生成字节流最后将其还原为JPEG图象或RealAudio节目。

标准的简单C程序如下:

     #include <stdio.h>

     int main () {

         print("Hello, world!\n");

     }

我可以很容易地将其转化成CGI程序,只需加入一个HTTP头。

     #include <stdio.h>

     int main () {

         print("Content-type: text/plain\n\n");

         print("Hello, world!\n");

     }

下面所需作的只是编译代码,将编译后的二进制文件放在我的网络目录中适当的位置。

CGI在互联网世界的应用很广泛,但是对它也有很多不满意之处。

  • 生成子进程是一个相当复杂的工作,耗费很多时间和内存,许多访问率相当高的站点的开发人员常因为由此造成的速度问题抱怨不已。
  • 网络服务器包含很多信息,而不只是环境变量和标准输入(STDIN)。有时候如果网络程序能够访问这些资料将会带来许多便利。
  • 传统的编程对于互联网来说都显得过于臃肿庞大,你最需要的其实就是一个能代替你编写HTML的一个智能程序,所以,为什么要把程序编得象计算机的代码呢?为什么不能使它更象HTML本身?

编写互联网应用程序最现代的方法产生于最近的几年。这些编程方法起源于基于用户端的HTML,或者叫.shtml,其概念强大之处在于将编程代码嵌入HTML文件。一些比较流行的例子如下:

  • Active Server Pages (.asp文件), 这种程序应用于微软的IIS网络服务器。ASP文件可以用几种比特的脚本编写引擎例如VBScript, JavaScript,和PerlScript启动。
  • Allaire Cold Fusion,这是一种非常方便的商用互联网开发环境。尽管它最初只能用于Windows NT,但后来它也开发出了适用于UNIX的版本。
  • Meta-HTML, 这种"免费软件"适用于UNIX 系统,它支持ODBC以及本地化的mSQL接口,它可以提供用于Netscape和Apache网络服务器的插件软件。

本文中我不具体谈这些工具,但我打算谈一下Ralf Engelschall的ePerl,这种应用程序使你能将Perl源代码嵌入到文本文件中。它还集成了mod_perl/Apache,这些事项以前我们需要在Apache的设置中完成。mod_perl/Apache的集成强调速度及解决CGI编程中对服务器-内程序访问的失败,而ePerl则处理标准编程语言在生成HTML时的臃肿和罗嗦。>>

网络数据库
第一页 网络数据库教程 - 第四天
第二页 ePerl - Perl和HTML的结合
第三页 DBI - Perl的数据库接口
第四页 前景 ...

[第1天][第2天][第3天][第4天][第5天]

   

本栏目内容归Wired Digital Inc.所有,
任何单位或个人未经许可,不得擅自转载使用。 搜狐公司制作完成。