面试中get和post的区别

get和post的区别主要有如下几方面:php


一、url可见性:浏览器

get,参数url可见;缓存

post,url参数不可见安全


二、数据传输上:post

get,经过拼接url进行传递参数;加密

post,经过body体传输参数url


三、缓存性:.net

get请求是能够缓存的blog

post请求不能够缓存get


四、后退页面的反应

get请求页面后退时,不产生影响

post请求页面后退时,会从新提交请求


五、传输数据的大小

get通常传输数据大小不超过2k-4k(根据浏览器不一样,限制不同,但相差不大)

post请求传输数据的大小根据php.ini 配置文件设定,也能够无限大。


六、安全性

这个也是最很差分析的,原则上post确定要比get安全,毕竟传输参数时url不可见,但也挡不住部分人闲的没事在那抓包玩。安全性我的以为是没多大区别的,防君子不防小人就是这个道理。对传递的参数进行加密,其实都同样。


想了解的更详细,能够参考:

https://blog.csdn.net/zzk220106/article/details/78595108/