get请求与post请求的区别

  1. 大小限制

get请求一般通过url传输的数据量时比较少的,最多传3~5个参数,如果要传递多个参数,要在url地址中利用“&”符号拼接多个参数,
栗子:/test/demo.php?name1=value1&name2=value2
但是我们也不可能通过url地址传递很多字符串,因为浏览器或服务器都对url的地址有限制,有的浏览器规定它不能超过8000个字符,一般来说,8000个字符足够我们使用,我们也不会传递大量的数据通过url传到后台,这样是不现实的,通过http协议我们知道,get请求一般是用于获取数据,url传递的参数仅仅用于查询条件来用的,而对post请求来说,它提交的额数据是可以有很多的,比如说表单的数据提交,可以通过post传递到后台,它对提交的数据大小就没有限制

  1. 安全性

get请求的参数和值都会出现在url地址栏中,如果提交的数据是密码或者一些敏感信息,就会让这些数据暴露在外,一般情况下,如果要提交一些敏感信息,那么提交的方式首选为post,这样的话,这些敏感的数据不会暴露在url当中,不过,在url传递的参数值中,不管使用get/post的请求方式,都没有办法保证绝对的安全,所以,一般情况下,要使用post方式提交数据的时候,都会在前端进行加密,不需要写一些算法,有现成的第三方库去帮助我们完成。

  1. 性能方面

get请求的数据封装在服务器端,所以性能相对于post来说,更高一些

  1. 可见性

get请求的参数和值可以在url中直接看到,而post请求的参数值是放在Request body请求体中,所以不能在url地址中直接看到

  1. 历史记录

get请求参数会被完整保留在浏览器历史记录里,而post中参数不会被保留

  1. 缓存

get 请求会被浏览器主动cache (缓存),post 则不会,除非手动设置

  1. 编码

get请求只能进行url 编码,而post支持多种编码方式。


__EOF__

本文作者杨芋可可
本文链接https://www.cnblogs.com/yangyukeke/p/13729194.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   杨芋可可  阅读(156)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示