以下是电机系同学就 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