当前位置: 首页 > news >正文

面试题3:GET 和 POST 有什么区别?

[!]高频面试题。
GET 和 POST 没有本质区别,可以进行相互代替。

1、GET语义:“从服务器获取数据”;POST语义:“往服务器上提交数据”。[设计初衷,不一定要遵守]

2、发请求时,给服务器传递的数据,GET 一般是放在查询字符串中,但GET 也可以把数据放在 body 里。不过比较少见,以至于浏览器不一定能支持,不过其他的http客户端可以支持;POST 一般是放在 body 中,但是也可以放在 查询字符串 中,虽然少见,但是浏览器是可以支持的。 一定程度上,佐证了 GET 和 POST 可以相互代替。

3、基于GET的api,一般会设计成幂等;POST不要求[设计初衷,不一定要遵守]
设计服务器时,就需要提供一些接口,接口传入的参数,就视为是输入,接口返回的接口,就视为是输出。基于GET的api,加粗样式一般会设计成幂等;POST不要求
幂等:输入结果是确定的,输出结果也是确定的。
譬如现时生活中,奶牛吃草,挤出来的是牛奶,这就是一个典型的幂等的情况。

4、在幂等的基础上,GET请求结果可以被缓存,POST一般不缓存。
如果当前GET确实是幂等的,就不必处理,让浏览器缓存。如果当前GET不是幂等的,就需要通过特殊技巧避免浏览器产生缓存(典型的技巧就是让每次GET请求的URL都不相同:即通过特殊的查询字符串来保证 URL 的不同)。

http://www.lryc.cn/news/383984.html

相关文章:

  • 探索QCS6490目标检测AI应用开发(三):模型推理
  • C# 静态类中构造、字段和属性等的执行顺序,含有单例模式分析
  • c++设计模式之一创建型模式
  • 上古世纪台服注册账号+下载客户端全方位图文教程
  • 【Android】Android中继承Activity、Application和AppCompatActivity的区别
  • SQLite 可以随可执行文件部署在用户机器吗
  • 大模型的开源不同于传统的开源软件
  • 基于PHP+MySql的留言管理系统的设计与实现
  • 单目标应用:基于吸血水蛭优化器(Blood-Sucking Leech Optimizer,BSLO)的微电网优化(MATLAB代码)
  • 嵌入式工程师从0开始,到底该学什么,怎么学
  • Redis-集群-环境搭建
  • ITSG、COST-G、Tongji和WHU Level-2数据产品读取绘图(Matlab)
  • linux(ubuntucentos)-安装libreoffice
  • 上海市计算机学会竞赛平台2023年9月月赛丙组点对之和(一)
  • maven-jar-plugin在springboot中打包成普通引用的jar
  • 小型海外仓布局策略:高效利用有限空间,标准化3F流程
  • 【高考志愿】电气工程
  • 贪吃蛇项目:GameRun与GameEnd部分:游戏的主体运行与善后部分
  • mysql索引、事务以及存储引擎
  • idea添加文档注释
  • python函数练习
  • 基于PHP的奶茶商城系统
  • 物联网“此用户无权修改接入点名称设置”解决方案
  • 网工常见面试题
  • SQL实现UUIDv7
  • 2024期权交易佣金手续费最低是多少?期权交易有哪些成本?
  • 合合信息智能文档抽取:赋能不良资产管理行业的数字化转型
  • 【别再用Excel了!】这款免费可视化工具能帮你轻松提升效率
  • python holidays获取中国节日
  • Jenkins流水线发布,一篇就解决你的所有疑惑