get和post的区别

1.get把数据请求的参数放在了URL中,post是通过request body传递参数

2.get是用来从服务器上获取数据,post是用来向服务器传递数据

3.get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 

4. get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后 放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。 post的所有操作对用户来说都是不可见的。 在进行登录操作,通过get请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。除此之外,get请求提交的数据还可能会造成Cross-site request frogery攻击。

5.get传输的数据量小,主要是因为受URL长度的限制。post可以传输大量的数据,所以在上传文件的时候只能使用post。

6.get限制的form表单的数据集的值必须为ASCLL字符。post支持整个ISO10646字符集。

7.get是提交表单默认的

原文地址:https://www.cnblogs.com/chaofei/p/7763185.html