post和get的自我总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了post和get的自我总结相关的知识,希望对你有一定的参考价值。
HTTP中主要定义了四种与web服务的方法:GET,POST,PUT,DELETE。但是mvc中只支持GET和POST,因为web mvc的最初的设计者们,并没有把URL当成抽象的资源来设计。
区别:
1.操作性
GET是获取数据,POST是提交数据。当然这只是表面上意思,GET也是可以发送数据,不然如何获取数据,GET发送的数据是附加在URL上的,以?来分割URL和传输数据,参数之间以&相连,如:apsx.html?id=001&password=id,即ID,和password是传送的数据。POST再提交之后也是可以获取一定的数据。两者最主要的区别是GET方式是request_line(URL)上传送数据,而POST是在request_body中传送数据,即多行头步中。服务端中获得GET的请求参数是request.querstrng(),获得POST的请求参数是requet.Form
2.安全性
1.从数据的操作性上来说:get相对post是安全的,get只是获取数据,而不改变数据,是幂等的,而POST会改变数据,容易造成数据的错误性。
2.从保密性上来说:post相对于get是安全的,因为get实在URL上发出的,数据时可见的,比如说登录名的密码用get请求的话,如果浏览器缓存的话很容易泄露,而POST实在body上传输数据,是不可见的。但也不是绝对的,post在浏览器上显示不出来,但可以通过但三方工具来查看。
3.传送数据大小
get传送数据比较小,post传送的数据比较大。理论上来讲http协议并没有限制其大小,限制其大小的是各个浏览器,get是放在URL上传输的,最多1024字节。
post传送的数据大小理论上没有限制,但是一般都会有个2M的限制。
建议
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
以上是关于post和get的自我总结的主要内容,如果未能解决你的问题,请参考以下文章