以下是電機系同學就 get 及 post 的闡釋.
其實大家大多都應該知道了, 不知道的同學則可參考參考 :)
---------- Forwarded message ----------
Date: Thu, 2 Jan 1997 11:19:53 +0800 (CST)
From: DavidChiou.bbs@bbs.ee.ntu.edu.tw
To: b3503050@ccsun6
Subject: Re: 教務處公告--網路查詢課程及成績,電話註冊
==> 在 PowerOp@Maxwell (嗯踢唷咿咿.小段段) 的文章中提到:
: 這個應該是說,如果設計不佳,使用者查詢的時候輸入的密碼會在URL內出現
: something like http://somplace.ntu.edu.tw/query.cgi?
: ^^^^^^^^^^
: post和get有什麼差別啊??
: 都算是 http 的一種request對不對??
post和get都是CGI程式取得使用者傳遞至server之資料的方式
post的話,則會以標準輸入 (stdin) 方式
傳送表格資料串給 CGI 程式,並在 CONTENT_LENGTH 環境變數通知資料串之長
度。所以 CGI 程式必需由 stdin 讀取長度為 CONTENT_LENGTH 之表格資料串
。此資料串是會被編成以「 & 」符號所區隔的 "name=value" 資料對。其中
name 為表格之欄位名稱,value 為其欄位內容。value 內之空白( space )
會被轉換為「 + 」;特殊字元會被轉成 %xx 十六之進位
get的話,會將表格資料串(同 POST 已被轉碼)之前
加「? 」號,並會緊隨在 action 之 URL 後面傳給伺服主機,換言之, 由於
URL 字串內是以「? 」作為物件位址與查詢字串之分離符號,故您也可以不透
過 FORM 型式而利用 hyperlink 方式直接連結使用。此時主機不是透過 stdin
傳遞表格資料串,而是將表格資料串藉環境變數 QUERY_STRING 傳送給 CGI 程式。
所以小段段舉的例子,應該是用get的方式。
一般大家都比較喜歡用post而不喜歡用get。因為用get的話,資料長度
會受到限制。
--
阿哲的烘焙雞:http://cc.ntu.edu.tw/~b2503131
--有我很喜歡的靈異故事、獅友會和其他雜七雜八的東東
最近看的東東:位革命,醋溜族,境界的嚮往,E.Q.,世界末日與冷酷異境,情書,小說入門
擁抱未來,我不是教你詐2,火線勇氣,TOP GUN,HEAT,大地英豪,Ransom,第五項修煉
--
* Origin: ● 台大電機 Maxwell 站 ● From: ccstudent.ee.ntu.edu.tw