问题:get和post请求它们的区别是安全和不安全的,那么到底哪一个是安全,那个是不安全的,还有这个安全是相对于什么来讲的?浏览器
解决:缓存
1、原理区别安全
1.通常咱们在浏览器输入一个网址访问网站都是GET请求。服务器
HTTP定义与服务器交互方法:get,post,put,delete,head。post
其中GET和HEAD被称为安全方法。网站
为何会被称为安全方法?spa
由于get和head的HTTP请求不会产生动做。资源
不会产生动做的体现是什么?get
get和head的HTTP请求不会在服务器上产生任何结果。博客
那么安全方法是否是什么动做都不产生?
这里的安全方法仅仅指不会修改信息。
2.根据HTTP规范,POST可能会修改服务器上的资源的请求。好比开源中国的博客,用户提交一篇博文
或者读者提交评论是经过POST请求来实现的,由于在博文或者评论提交后资源(即某个页面)不一样了,或者说资源被修改了,这些即是"不安全方法"。
2、表现形式区别
1.安全性:POST的安全性比GET的高。这里的安全是真正的安全,上面的安全仅仅是不修改服务器的数据。
举例:在用户登陆时,经过GET请求,用户名和密码都会暴露在URL上,由于登陆页面有可能被浏览器缓存以及其余人查看浏览器的历史记录的缘由,此时的用户名和密码就很容易被他人拿到了。
总结:对于服务器来讲get请求是安全的,post请求是不安全的。对于用户来讲,get请求是不安全的,post请求是安全的。