对GET和POST的正确理解
GET是用于获取数据的,POST,一般用于将数据发给服务器之用。再具体的区别,只
能去看RFC文档了,还要取决于服务器(指Apache,IIS)的具体实现。
原来的理解:
可能很多人都已经猜到了,一开始我们查到的很多介绍都是:
1. GET使用URL或Cookie传参。而POST将数据放在BODY中。
2. GET的URL会有长度上的限制,则POST的数据则可以非常大。
3. POST比GET安全,因为数据在地址栏上不可见。
事实:
(1)Post 和 get与数据的传输没有什么关系
(2)http协议对get和post都么有长度的限制。
(3)安全性与post和get 没有直接的关系
综上所述:
•GET 仅用来获取查看信息,不能改变服务器信息。
•POST 用来改变服务器信息。
在表单里使用”post”和”get”有什么区别
在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,
post和get方法在使用上至少有两点不同:
1、Get方法通过URL请求来传递用户的输入。Post方法通过另外的形式。
2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交
时,你必须通过Request.Form来访问提交的内容。
对比小结:
不管是发送GET请求,还是发送POST请求,程序获取URLConnection响应的方式完全一
样:如果程序可以确定远程响应是字符流,则可以使用字符流来读取;如果程序无法确
定远程响应是字符流,则使用字节流读取即可。
所以我对于GET和POST的理解,是纯粹地来源于HTTP协议。他们只有一点根本区别,
简单点儿说,一个用于获取数据,一个用于修改数据,包含机密信息的话,建议用Post
数据提交方式;在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建
议用Post方式;。具体的请参考RFC文档。