就协议而言GET是用来向服务器获取数据,而POST是向服务器提交数据,例如访问http://passport.cnblogs.com/login.aspx,通过http协议分析工具,可以看到发出的所有Http报文都是GET,当输入帐号密码点击提交时,才会产生一个POST报文
而就HTML from表单提交而言,GET和POST都可以用来向服务器提交数据:
form表单不指定method时默认为get,关于HTML的<form>标签可以参考w3c学院的http://www.w3school.com.cn/tags/tag_form.asp
使用http协议分析工具观察点击提交时产生的http报文,会发现,get表单的提交动作产生了一个GET报文,表单字段值以参数的形式放在了url里如"http://127.0.0.1/Process.asp?fname=abc&lname=123"
而post表单的提交动作产生了一个POST报文,所要提交的数据,即表单字段值以"fname=abc&lname=123"的形式被放在了http报文的数据实体中
此外,还可能是POST和GET混合,如一个form表单的mothod是post,但在action后的转向url里又人工加上了url参数。
参考资料:
http Get和Post方式区别
http://blog.dic123.com/article.asp?id=430
深入研究表单提交方式:GET/POST
http://dev.csdn.net/article/10/10865.shtm
HTTP POST GET 本质区别详解
http://blog.csdn.net/gideal_wang/archive/2009/07/02/4316691.aspx
HTTP-GET 和 HTTP-POST 的比较
http://www.v-ec.com/dh20156/article.asp?id=34
什么时候用GET?什么时候用POST?
http://blog.csdn.net/codeshark/archive/2009/05/16/4190922.aspx