網頁設計知識 - 網頁程式相關
CGI(Common Gateway Interface)語法介紹
CGI(Common Gateway Interface)是一種協定,用於 Web 伺服器與外部應用程式之間的通信。當使用者在網頁上提交表單或進行操作時,CGI 程式可以在伺服器端執行,然後返回動態生成的結果。CGI 是早期動態網站開發的重要技術,支援多種程式語言,如 Perl、Python、C 等。
CGI 的基本運作原理
CGI 通過 HTTP 請求與伺服器交互,並將用戶的輸入數據傳遞給後端程式處理。這些程式會生成結果,並將結果以 HTML 的形式返回給使用者。以下是 CGI 的基本流程:
- 用戶在瀏覽器中提交表單。
- Web 伺服器將表單數據傳遞給 CGI 程式處理。
- CGI 程式處理數據(例如查詢資料庫或計算結果)。
- CGI 程式返回生成的結果,通常是 HTML 格式,顯示給使用者。
CGI 程式範例(Perl 語言)
下面是使用 Perl 語言編寫的 CGI 範例,它會顯示一個簡單的表單,並處理表單提交的數據。
#!/usr/bin/perl
# 啟用CGI模組
use CGI qw(:standard);
# 設定HTTP標頭
print header('text/html');
# 取得表單輸入
my $name = param('name');
# 輸出HTML
print <<HTML;
<html>
<head><title>CGI 範例</title></head>
<body>
<h1>CGI 表單處理</h1>
<form method="post" action="cgi-bin/example.pl">
姓名: <input type="text" name="name"><br>
<input type="submit" value="提交">
</form>
HTML
if ($name) {
print "你輸入的姓名是: $name";
}
print <<HTML;
</body>
</html>
HTML
這段程式碼展示了一個簡單的 CGI 應用,使用 Perl 編寫,會顯示一個表單,並處理表單提交的數據。
CGI 程式範例(Python 語言)
這是一個使用 Python 語言編寫的簡單 CGI 程式,會顯示表單並處理提交的數據:
#!/usr/bin/python3
import cgi
# 設定HTTP標頭
print("Content-Type: text/html
")
# 取得表單數據
form = cgi.FieldStorage()
name = form.getvalue('name')
# 輸出HTML
print("<html><head><title>CGI 範例</title></head><body>")
print("<h1>CGI 表單處理</h1>")
print('<form method="post" action="example.py">')
print('姓名: <input type="text" name="name"><br>')
print('<input type="submit" value="提交"></form>')
if name:
print(f"你輸入的姓名是: {name}")
print("</body></html>")
這段程式碼使用 Python 編寫,會顯示一個簡單的表單,並將提交的姓名顯示在頁面上。
CGI 的基本資料處理
CGI 程式通常需要處理以下幾種資料:
- HTTP 請求數據:表單提交的數據,通常來自 GET 或 POST 方法。
- 環境變數:如伺服器資訊、用戶代理、請求的 URL 等,這些變數可以用來進行進一步的邏輯處理。
- 輸出數據:通常是 HTML,作為回應內容返回給使用者,展示結果或錯誤訊息。
CGI 與 Web 開發
CGI 是 Web 伺服器和後端應用之間早期的通信方式,雖然現在已經有了更現代化的技術(如 ASP.NET、PHP、Node.js 等),但 CGI 仍然是動態網站開發的基石之一。它的靈活性和多語言支援讓它適合於各種不同的系統和需求。
結論
CGI 是一個簡單而強大的技術,用於將 Web 伺服器與外部程式相連。雖然它已不再是現代 Web 開發的主流技術,但其基礎概念依然重要。CGI 支持多種編程語言,並能與各種伺服器協同工作,提供動態網頁功能。
歡迎推廣本文,請務必連結(LINK)本文出處:新視野網頁設計公司