androidgetpost区别
Ⅰ 简述GET和POST的区别
1. GET在浏览器回退时是无害的,而POST会再次提交请求。
2. GET产生的URL地址可以被Bookmark,而POST不可以。
3. GET请求会被浏览器主动cache,而POST不会,除非手动设置。
4. GET请求只能进行url编码,而POST支持多种编码方式。
5. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
6. get方式提交数据的大小(一般来说1024字节),http协议并没有硬性限制,而是与浏览器、服务器、操作系统有关,而POST理论上来说没有大小限制,http协议规范也没有进行大小限制,但实际上post所能传递的数据量根据取决于服务器的设置和内存大小。
7. 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
8. GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
9. GET参数通过URL传递,POST放在Request body中。
GET和POST是HTTP协议中的两种发送请求的方法。
HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。
HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。
GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
GET产生一个TCP数据包;POST产生两个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。
1. GET与POST都有自己的语义,不能随便混用。
2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
看了这么多,是不是会觉得一脸懵逼,在你做项目的时候要注意:
get一般是用来获取数据,post提交数据
post其实是有大小限制的,只不过是取决于服务器的设置和内存大小。
还有更深入的区别:
GET是用来向获取服务器信息的,请求报文传输的信息只是用于描述所需资源的参数,返回的信息才是数据本身;POST是用来向服务器传递数据的,其请求报文传递的信息就是数据本身,返回的报文只是操作的结果。
大概我就先说这么多吧!
不足的各位请补充
Ⅱ 安卓开发 http中get和post的区别
(一)HttpGet :doGet()方法
//doGet():将参数的键值对附加在url后面来传递
[java] view
plain
public String getResultForHttpGet(String name,String pwd) throws ClientProtocolException, IOException{
//服务器 :服务器项目 :servlet名称
String path="http://192.168.5.21:8080/test/test";
String uri=path+"?name="+name+"&pwd="+pwd;
//name:服务器端的用户名,pwd:服务器端的密码
//注意字符串连接时不能带空格
String result="";
HttpGet httpGet=new HttpGet(uri);//编者按:与HttpPost区别所在,这里是将参数在地址中传递
HttpResponse response=new DefaultHttpClient().execute(httpGet);
if(response.getStatusLine().getStatusCode()==200){
HttpEntity entity=response.getEntity();
result=EntityUtils.toString(entity, HTTP.UTF_8);
}
return result;
}
(二)HttpPost :doPost()方法
//doPost():将参数打包到http报头中传递
[java] view
plain
public String getReultForHttpPost(String name,String pwd) throws ClientProtocolException, IOException{
//服务器 :服务器项目 :servlet名称
String path="http://192.168.5.21:8080/test/test";
HttpPost httpPost=new HttpPost(path);
List<NameValuePair>list=new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("name", name));
list.add(new BasicNameValuePair("pwd", pwd));
httpPost.setEntity(new UrlEncodedFormEntity(list,HTTP.UTF_8));//编者按:与HttpGet区别所在,这里是将参数用List传递
String result="";
HttpResponse response=new DefaultHttpClient().execute(httpPost);
if(response.getStatusLine().getStatusCode()==200){
HttpEntity entity=response.getEntity();
result=EntityUtils.toString(entity, HTTP.UTF_8);
}
return result;
}
-------------------------------------------------------------------------------------------------------
由此我们可知,HttpGet和HttpPost的区别在于前者是将参数在地址中传递,后者是将参数用List传递。
Ⅲ post和get的区别是什么
意思不同。
post:n. 岗位;邮件;标杆;vt. 张贴;公布;邮递;布置;vi. 快速行进。做动词的时候是实义动词。
get:n. 生殖;幼兽;vi. 成为;变得;到达;vt. 使得;获得;受到;变成。做动词的时候,可以是实义动词,也可以是连系动词,后面接表语,构成系表结构。
例如:
Soon they assigned him to a new post. (名词)
不久, 他们派他到一个新的工作岗位。
The post on the building staggered violently in the wind. (名词)
楼上的标杆在风中猛烈的摇晃着。
Post your feedback and tell us what you think. (动词)
写下你的意见,并告诉我们你的想法。
The ship was posted missing. (动词)
已贴出通告宣布该船失踪。
From whom shall I get comfort? (实义动词)
我从谁那儿能得到安慰呢?
Only you study hard can you get good results. (实义动词)
只有肯努力,才能得到好的学习成绩。
A good friend will visit you in hospital and say “Get well soon ” and leave. (连系动词)
你的朋友在医院看你的时候会说“快点好起来”。
Ⅳ post和get的区别
区别一:语义上的区别
1、Get向服务器请求数据。依照HTTP协议,get 是用来请求数据。
2、Post向服务器发数据。依照HTTP协议,Post的语义是向服务器添加数据,也就是说按照Post的语义,该操作是会修改服务器上的数据的。
区别二:服务器请求的区别
1、Get请求是可以被缓存的,举个例子,你访问.com,就是向的服务器发了个Get请求,这个请求的返回,也就是的主页页面内容,会被缓存在你浏览器中,短时间再次访问,其实是拿到的浏览器中的缓存内容。另外Get请求只能接收ASCII码的回复
2、Post请求是不可以被缓存的。对于Post方式提交表单,刷新页面浏览器会弹出提示框 “是否重新提交表单”,Post可以接收二进制等各种数据形式,所以如果要上传文件一般用Post请求。
区别三:参数放请求头和请求体的差别
1、Get请求通常没有请求体(当然这也是可以由程序猿心情改变的),在TCP传输中只需传输一次(而不是一个包),所以Get请求效率相对高。
2、Post请求将数据放在请求体中,而实际传输中,会先传输完请求头,再传输请求体,是分为两次传输的(而不是两个包)。Post请求头会比Get更小(一般不带参数),请求头更容易在一个TCP包中完成传输,更何况请求头中有Content-Length的标识,可以更好地保证Http包的完整性。
Ⅳ post和get有什么不同
一、区别与应用: Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下: 1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。 4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。 5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。 6、Get是Form的默认方法。 二、从HTML中发送数据,在ASP中如何接收? 在form表单的action属性值里面有一个相对路径指向asp文件。就是用这个asp文件来接收和处理的
Ⅵ Android 中post get有什么区别
get请求方式是将提交的参数拼接在url地址后面,例如http://www..com/index.jsp?num=23&jjj=888;但是这种形式对于那种比较隐私的参数是不适合的,而且参数的大小也是有限制的,一般是1K左右吧,对于上传文件就不是很适合。
post请求方式是将参数放在消息体内将其发送到服务器,所以对大小没有限制,对于隐私的内容也比较合适。
Ⅶ GET和POST的区别,何时使用POST
GET和POST的区别,何时使用POST ?
1.GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符
2.GET: 传送的数据量较小,不能大于2KB。post 传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 用IIS过滤器的只接受get参数,所以一般大型搜索引擎都是用get方式
3.GET:是从服务器上获取数据,post 是向服务器传送数据。 get 请求返回 request – URI 所指出的任意信息。
4.GET:是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程。
5.POST:一般用于修改服务器上的资源,对所发送的信息没有限制。
6.GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。
Ⅷ post和get的区别
一、功能不同
1、get是从服务器上获取数据。
2、post是向服务器传送数据。
二、过程不同
1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
2、post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
三、获取值不同
1、对于get方式,服务器端用Request.QueryString获取变量的值。
2、对于post方式,服务器端用Request.Form获取提交的数据。
四、传送数据量不同
1、get传送的数据量较小,不能大于2KB。
2、post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
五、安全性不同
1、get安全性非常低。
2、post安全性较高。
如果没有加密,他们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到。
Ⅸ get和post请求的区别
1、安全性不同:GET方法用于信息获取,它是安全的(安全:指非修改信息,如数据库方面的信息),而POST方法是用于修改服务器上资源的请求。
2、特点不同:GET请求的数据会附在URL之后,而POST方法提交的数据则放置在HTTP报文实体的主体里,所以POST方法的安全性比GET方法要高。
3、传输的数据量不同:GET方法传输的数据量一般限制在2KB,而Chrome,FireFox浏览器理论上对于URL是没有限制的,它真正的限制取决于操作系统本身;POST方法对于数据大小是无限制的,真正影响到数据大小的是服务器处理程序的能力。
Ⅹ get和post的区别是什么
GET和POST的区别:
1、发送的数据数量
在GET中,只能发送有限数量的数据,因为数据是在URL中发送的。
在POST中,可以发送大量的数据,因为数据是在正文主体中发送的。
2、安全性
GET方法发送的数据不受保护,因为数据在URL栏中公开,这增加了漏洞和黑客攻击的风险。
POST方法发送的数据是安全的,因为数据未在URL栏中公开,还可以在其中使用多种编码技术,这使其具有弹性。
3、加入书签中
GET查询的结果可以加入书签中,因为它以URL的形式存在;而POST查询的结果无法加入书签中。
4、编码
在表单中使用GET方法时,数据类型中只接受ASCII字符。
在表单提交时,POST方法不绑定表单数据类型,并允许二进制和ASCII字符。
5、可变大小
GET方法中的可变大小约为2000个字符。
POST方法最多允许8 Mb的可变大小。
6、缓存
GET方法的数据是可缓存的,而POST方法的数据是无法缓存的。
7、主要作用
GET方法主要用于获取信息。而POST方法主要用于更新数据。