Linux CGI程式設計基礎

2021-06-07 18:59:14 字數 1365 閱讀 8292

1.為什麼使用cgi?  

2. cgi是什麼?

cgi全稱是 common gate intergace ,在物理上,cgi是一段程式,它執行在server上,提供同客戶端 html頁面的介面。

3. cgi程式語言

你可以用任何一種你熟悉的高階語言, c,c++,c shell,perl和vb都可以。

4. cgi的安全性

實際上cgi是比較安全的,至少比 那些沒有數字簽名的activex控制項要安全的多。除非你有意在程式裡加入了破壞server的命令, 否則一般不會有什麼嚴重的後果。

簡單的說來,cgi是用來溝通html表單和伺服器端程式的介面(inte***ce)。說它是介面,也就是說cgi並不是一種語言,而是可以被其他語言所應用的乙個規範集。理論上講,你可以用任何的程式語言來編寫cgi程式,只要在程式設計的時候符合cgi規範所定義的一些東西就可以了。由於c語言在平台無關性上表現不錯(幾乎在任何的系統平台下都有其相應編譯器),而且對大多數程式設計師而言都算得上很熟悉(不像perl),因此,c是cgi程式設計的首選語言之一。這兒我們介紹的,就是如何使用c來編寫cgi程式。

作為cgi程式設計的最為簡單的例子,就是進行表單的處理。因而在這篇文章中,我們主要介紹的就是如何用c來編寫cgi程式來進行表但處理。

5.傳送方法:

所謂方法是指呼叫cgi程式的途徑。事實上,要執行程式時,你用一種方法向伺服器提出請求,此請求定義了程式如何接受資料。 下面介紹常用的兩種方法:get和post 1.get 當使用這種方法時,cgi程式從環境變數query_string獲取資料。

query_string 被稱為環境變數,就是這種環境變數把客戶端的資料傳給伺服器。為了解釋和執行 程式,cgi必須要分析(處理)此字串。

post 使用post方法時,web伺服器通過stdin(標準輸入),向cgi程式傳送資料。伺服器 在資料的最後沒有使用eof字元標記,因此程式為了正確的讀取stdin,必須使用content_length 。當你傳送的資料將改變

web伺服器端的資料或者你想給cgi程式傳送的資料超過了1024 位元組,

這是url的極限長度,你應該使用post方法。 實現方法:

get實現方法

ion=「 method=get>

post實現方法:

6. 表單編碼方式:

當action為post時候,瀏覽器把form資料封裝到http body中,然後傳送到server。

但是如果有type=file的話,就要用到multipart/form-data了。瀏覽器會把整個表單以控制項為單位分割,並為每個部分加上content-disposition(form-data或者file),content-type(預設為text/plain),name(控制項name)等資訊,並加上分割符(boundary)。

Go基礎程式設計 Socket程式設計

socket起源於unix,而unix基本哲學之一就是 一切皆檔案 都可以用 開啟open 讀寫write read 關閉close 模式來操作。socket就是該模式的乙個實現,網路的socket資料傳輸是一種特殊的i o,socket也是一種檔案描述符。socket也具有乙個類似於開啟檔案的函式...

Linux程式設計基礎 Socket程式設計

linux下的socket程式設計大體上包括tcp socket udp socket即raw socket這三種,其中tcp和udp方式的socket程式設計用於編寫應用層的socket程式,是我們用得比較多的,而raw socket則用得相對較少,不在本文介紹範圍之列。tcp socket 基於...

程式設計基礎 順序結構程式設計

problem a 根據邊長計算三角形的面積 include include intmain problem b 計算圓面積 輸入圓半徑r,r為實數,計算並輸出面積s 圓周率取3.14即可 include intmain problem c 解方程ax b 0 求解方程ax b 0。要求 輸入a與b...