在http协议中,get和post是其数据传输过程中两种请求方法,除了这两种方法,还有其他(包括put、delete、trace、connect、options、head)。
在这里我们主要讲下get和post的区别。
(1)get用来从服务器上获取数据,而post用来向服务器上传数据;
(2)get将表单中的数据按照variable=value的形式添加到URL后面,并且两者使用“?”连接,而各个变量之间使用"&"连接;post是将表单中的数据放在数据体中,按照变量和值相对应的方式,传递到URL;
(3)get是不安全的,因为在传输过程中,数据被放在请求的URL中,而现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样可能会有些隐私的信息被第三方看到。另外用户也可以再浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。而post的所有操作对用户来说都是不可见的;
(4)get传输的数据量小,这主要是因为受URL长度的限制;而post可以传输大量的数据,所以在上传文件时只能使用post。