Get与Post的不同?
相同点:
- 都是向服务器发送一种请求。
不同点
-
Get是把参数数据队列加到提交表单的action属性所指的url中,值
和表单各个字段一一对应,在url中可以看到。Post是通过HTTPPost
机制,将表单内各个字段与其内容放置在HTTPheader内一起传送到action
所指的url地址。用户看不到这个过程(Get不经过加密,Post经过加密)。 -
Get传送数据量较小,不能大于2KB。Post传送的数据量过大,一
般默认不受限制。但理论上IIS4中最大量为80KB,IIS5中为100KB。
(Get提交的参数有一定的大小限制,Post没有大小限制)。 -
Get方法提交中文数据的时候容易出现乱码,不易解决。Post方法
提交中文是以页码编码的格式提交,不容易出现乱码。 -
Get与Post的安全性。
Get是安全的和幂等的。这里的安全是指操作用于获取信息而并
非修改信息。意思就是Get请求一般不会产生副作用,仅仅是获取
资源信息,就好比数据库查询,不会修改数据库内容。(幂等:一
种数学与计算机学概念,常见于抽象代数。在编程中一个幂
等操作的特点是其任意多次执行所产生的结果均与一次执行的结果相同。)
Psot的安全性比Get的安全性高。这里的安全不同于上面“安全”的含义
仅仅是不作数据修改,而这里安全的含义是真正的Security的含义。(G
et的请求缓存会被缓存而Post不会,Get的浏览器历史记录可以保留而Post不能)。