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

接口请求的六种常见方式详解(get、post、head等)

一.接口请求的六种常见方式:

1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体)

2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改

3、Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容)

4、Head 与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头)

5、Delete 请求服务器删除request-URL所标示的资源*(请求服务器删除页面)

6、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能)

二、get请求

URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息。

三、post请求

post向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改。

post请求一般通过body传递参数。例如登录:

四、head请求

HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。


五、put请求

PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。

举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而如果用POST,则这个地址会在提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。具体用哪个还取决于当前的业务场景。


六、DELETE请求

DELETE:删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。


七、options请求

OPTIONS:这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关文章:

  • C语言:结构体数组
  • FastWeb网站开发之拦截器(interceptor)使用教程
  • 课时151:项目发布_基础知识_技术要点
  • 分布式事务AP控制方案(下)
  • 数据结构之线性表(3)
  • 14. RTCP 协议
  • Kafka的分区副本机制
  • 小熊家务帮day19-day21 订单模块2(取消订单,退款功能等)
  • OBS 录屏软件 for Mac 视频录制和视频实时交流软件 安装
  • 类和对象(上续)
  • 力扣 T62 不同路径
  • leetcode389:找不同
  • XUbuntu24.04之制作ISO镜像启动盘(二百四十八)
  • module ‘django_cas_ng.views‘ has no attribute ‘login‘
  • 备战 清华大学 上机编程考试-冲刺前50%,倒数第5天
  • [deviceone开发]-do_Webview的基本示例
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • CAP理论的例子讲解
  • co模块的前端实现
  • ES6 学习笔记(一)let,const和解构赋值
  • es6要点
  • input的行数自动增减
  • JAVA并发编程--1.基础概念
  • JS函数式编程 数组部分风格 ES6版
  • Odoo domain写法及运用
  • Python_OOP
  • python3 使用 asyncio 代替线程
  • vue数据传递--我有特殊的实现技巧
  • 编写高质量JavaScript代码之并发
  • 大主子表关联的性能优化方法
  • 读懂package.json -- 依赖管理
  • 复杂数据处理
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 人脸识别最新开发经验demo
  • 深度学习在携程攻略社区的应用
  • 一天一个设计模式之JS实现——适配器模式
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 进程与线程(三)——进程/线程间通信
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​比特币大跌的 2 个原因
  • ​用户画像从0到100的构建思路
  • ‌Excel VBA进行间比法设计
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #android不同版本废弃api,新api。
  • $ git push -u origin master 推送到远程库出错
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (转)http协议