GET和POST对比
程序员文章站
2022-05-09 14:32:56
...
1,Get中数据大小被限制
我们都知道很多老式浏览器把URL的字符串个数被限制在255个之内;虽然现在的新版浏览器早就没有这个蛋疼的限制,但是我们可不敢保证所有来站点访问的用户都是使用新版浏览器的。所以当我们需要用户在网页中填写一些信息时,使用Get方式肯定会出问题。相反Post方法中没有这个限制,我们可以传输任意大小的数据。
2,Get中的数据类型不灵活
因为Get是使用url来传输数据的,那么比如空格字符以及类似&这样的字符就不方便传输。我们可以使用发送前编码,以及接受后解码的方法来解决。
3,安全性
在Get中,参数是以名值对的查询字符串挂接在url后缀来传输的,所以这个非常容易被浏览器历史记录中查询到。所有的数据也都是以文本方式提交,所以我们知道比如登录操作的密码是绝对不能使用Get方式来提交。相反,Post方法就安全多了。所有的名值对都是以消息体的方式在Http Request的方式传输。
4,速度
显然Get比Post要快。
5,书签
其实有几个情况下用Get更好,比如你能将名值对参数以书签的方式存储并直接在子啊表单中使用。但在Post下是无法做到的。
6,表单上传
以表单方式上传文件只能使用 Post 方式实现,Get几乎不可能。
7,数据丢失
在服务器对Get方式提交的数据编码时可能会数据丢失。但对于Post是不会的。
8,传输方式
Get使用栈方法传输表单变量,而Post使用HEAP方法来传输表单变量。
9,参数个数限制
Get最多也就一次性传输18个参数而Post没有这个限制。
推荐阅读
-
Python中单线程、多线程和多进程的效率对比实验实例
-
美国虚拟主机HostEase和LunarPages对比评测
-
i7-700K和Ryzen7 1700哪个好?i7-700K和Ryzen7 1700性能/价格详细区别对比评测
-
骁龙835和骁龙821哪个好?骁龙835与骁龙821区别对比介绍
-
Excel对比H列和F列的两列姓名用最快的方法对比出来哪个最快
-
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
-
Android下通过httpClient发送GET和POST请求的实例代码
-
C#模拟http 发送post或get请求的简单实例
-
微信公众平台和微信开放平台的区别(2者区别对比分析)
-
门面模式和代理模式区别(2种模式对比分析)