歡迎您光臨本站 註冊首頁

嵌入式網路編程理念

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  嵌入式網路編程理念
幾年前,網路編程起始於公共網關介面(Common Gateway Interface)簡稱CGI。C
GI的基本概念如下:

當一個用戶發出一個CGI請求時,URL將加入一些信息讓伺服器將其按照CGI請求進行
處理。URL加入的信息形式可能如下:
用戶請求的CGI一般在/cgi-bin/ 子目錄:http://www.somewhere.com/cgi-bin/某
個CGI程序
網路伺服器的配置可能會自動將某些文件的擴展名識別為可以執行的CGI程序:htt
p://www.erehwon.org/gosearch.py .py 通常被理解為Python程序,這是另外一種
很流行的網路編程語言。
文件的擴展名可能直接採用CGI作為擴展名:http://www.xyz.net/dosomething.cg
i
在這些情況中,網路伺服器將用戶請求交給URL指定的程序進行處理,並提供相應的
信息:通常是環境變數和標準輸入(STDIN)。
然後程序開始運行,生成子進程並生成相應的信息,然後將其發送給標準輸出(STD
OUT),通常程序會生成一個儘可能簡短的HTTP頭信息,作為其輸出的一部分。
網路伺服器將「捕捉」到的捕捉輸出流發通過網路送給用戶。用戶的瀏覽器根據HT
TP頭將其進行翻譯,其結果通常是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/plainnn");

print("Hello, world!n");

}
下面所需作的只是編譯代碼,將編譯后的二進位文件放在我的網路目錄中適當的位
置。

CGI在 is still used quite a bit in the Web world互聯網世界的應用很廣泛,
但是對它也有很多不滿意之處。

生成子進程是一個相當複雜的工作,耗費很多時間和內存,許多訪問率相當高的站
點的開發人員常因為由此造成的速度問題抱怨不已。
網路伺服器包含很多信息,而不只是環境變數和標準輸入(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則處理標準編程語言在生成HT
ML時的 分 和羅嗦。


[火星人 ] 嵌入式網路編程理念已經有293次圍觀

http://coctec.com/docs/program/show-post-72278.html