Http请求方式的正确使用场景
文章目录
- 前言
- 一、问题引入
- 二、http几种请求方式的使用
- 总结
前言
我们从大一刚开始学习Java到现在已经写了两三次项目后,我们的编程能力在逐渐提升,但是有个很容易忽略的点,虽然说平时对开发没有太大的影响,但是即使是很小的错误,都极有可能会对我们未来的开发和工作造成打击性的影响。所以今天我就来记录一下这个学习过程。
一、问题引入
时日至今,我很荣幸能够成为一名web后端学习者,在我们前后端合作写项目的同时,我们后端的任务就是维护数据和写接口,总所周知,接口决定了一个功能的实现,所以对于接口的问题,就是http的请求方式的正确与否。
依稀记得,我们第一次写项目,由于对http请求方式不是很了解,所以使用的最多的就是post请求和get请求,当时只是简单的记得,post请求能够隐藏请求参数,get请求的参数会加在url后面。当时这种简单的认知只是觉得虽然说是这样,但是其实并没有太大的区别,就是说,登录使用post,其他的都行。但是其实这种是不对的,每种请求方式都有自己的特性,使用的方式、场景也不尽相同。
印象最深刻的一次,就是我当时在网上查资料学习了一些关于这些http请求方式的知识,并且当时在项目中使用了,我们的前端人员竟然问我,这种请求方式是什么,怎么没有见过。我当时觉得这并没有什么,但是随着知识、项目的学习,我觉得这些却变得极其重要了起来。
下面就让我们一起来学习下,http几种请求方式吧。
二、http几种请求方式的使用
1.GET
(1)get请求是用来获取数据的,就是说只是用来查询数据,不对服务器的数据进行任何的修改、添加、删除等操作,就可以使用get请求;
(2)get请求会把请求的参数加在url后面,这样会产生安全问题,稍微懂点编程的人员都可以通过url来获取你网址的参数和值;
(3)get请求的参数对于请求的url来说并没有大小限制,但是对于不同的浏览器可能会有不同的限制。
//比如,使用id来查询演员信息
@GetMapping("/findActorMessage")
public Result findActorMessage(Integer actorId) {return actorService.findActorMessage(actorId);
}
这样的话,对于接口的请求的url就是以下这种
Request URL:http://localhost:8080/video/actor/findActorMessage?actorId=1
2.POST
(1)post请求一般是对服务器的数据的操作,常用来使用数据的提交,新增操作,这种请求会改变数据的种类等资源;几乎目前所有的提交操作都是通过post来实现;
(2)post请求的请求参数一般都是放在请求体中,不会显示在url后面
(3)post请求的大小也会被服务器限制,这种限制的主要因素是服务器的处理能力。
//用于向数据库添加用户操作@PostMapping("/addUser")public ResponseResult addUser(User user) {User user1 = userService.findUserByAccount(user.getAccount());if (user1 == null) {userService.addUser(user);return ResponseResult.success("添加成功");} else {return ResponseResult.error("用户已存在");}}
这种方式的请求URL如下
Request URLhttp://localhost:8080/video/user/addUser?account=zzal123456&password=123456
但是post中的请求参数会隐藏在方法的请求体当中。
3.PUT
(1)PUT请求是向服务端发送数据、改变信息的,即使POST和PUT请求一样都会改变服务器的数据,但是PUT的侧重点在于对数据的修改操作,而POST则是对数据的添加操作;
(2)PUT请求需要注意的是,虽然和POST请求的执行都是改变动作,但是它采用的参数传递需要使用query格式,否则是拿不到传递的参数的,也就是说如果不使用query格式,那么就只能享受空指针异常了。
//这里用于修改操作@ApiOperation(value = "用户修改邮箱")@PutMapping("/findAllUser")public ResponseResult updateEmail(String email, int userId) {return userService.updateEmail(email, userId);}
4.DELETE
DELETE请求顾名思义,很简单,就是删除资源,一般用于数据库数据的删除操作,这里不再赘述。
//这里用于删除操作@ApiOperation(value = "根据id删除用户")@DeleteMapping("/deleteById")public ResponseResult deleteById(int userId) {User user = userService.findUserById(userId);int i = userService.deleteUserById(userId);if (i > 0) {return ResponseResult.success("删除成功", user);} else {return ResponseResult.error("抱歉未找到");}}
5.HEAD
(1)HEAD请求与GET请求类似,区别在于它只是请求页面的头信息,用来获取报头信息,返回的响应中没有内容,GET请求的返回中有实体信息。
(2)HEAD请求一般用来判断类型、根据返回状态确定资源是否存在、资源是否更新以及更新的时间等。
(3)HEAD请求常常被忽略,但是能提供很多的有效信息,特点主要有:只请求资源的头部、可以检查超链接的有效性、检查网页是否被修改、更多用于自动搜索机器人获取页面的某些认证信息等。
6.OPTIONS
(1)由于OPTIONS请求暂时我还没有接触到,所以此部分只是查询资料后总结,这里只是对这种请求方式的简单介绍。
(2)OPTIONS请求是用于获取由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项,通过这个方法,客户端可以在才取具体资源之前,决定对该资源采用何种必要措施,或者了解服务器的性能;
(3)POPTIONS请求方法的主要用途有两个:
1)获取服务器支持的HTTP请求方法;
2)用来检查服务器的性能。
总结
以上的http的请求方式基本上可以满足我们现阶段的开发需求,同时,正确使用请求方式也是一个小的细节,希望能对大家有所帮助。
Http请求方式的正确使用场景相关推荐
- 详解get与post请求方式、content-type与responseType、@Requestbody与@Requestparam的使用场景
一. get与post请求方式 post:一般用来提交表单,请求数据被包装在body体中,是安全的: get:一般用来获取数据信息,当然也可以用来获取表单,请求参数在url中,是不安全的: 二. co ...
- 6748如何设置edma为事件触发方式_全面分析前端的网络请求方式
作者|ConardLi 编辑|覃云 来源|code 秘密花园公众号 一.前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本参数(url,请求方式) 请求参数 ...
- 全面分析前端的网络请求方式
一.前端进行网络请求的关注点 大多数情况下,在前端发起一个网络请求我们只需关注下面几点: 传入基本参数(url,请求方式) 请求参数.请求参数类型 设置请求头 获取响应的方式 获取响应头.响应状态.响 ...
- http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎
TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...
- php 请求方式,PHP发起HTTP请求有哪几种方式?
PHP发起HTTP请求方式有:1.通过[file_get_contents]发送get请求:2.通过[CURL]发送get请求:3.通过[fsocket]发送get请求. PHP发起HTTP请求方式有 ...
- 轻松搞定Retrofit不同网络请求方式的请求参数配置,及常用注解使用
<一>四种请求方式: GET 向服务器发起数据请求,获取信息.类似于数据库的select操作,只是查询,不会影响资源的内容. POST 向服务器发送数据,该请求会改变数据的种类等资源.类似 ...
- jQuery中ajax的4种常用请求方式
jQuery中ajax的4种常用请求方式:1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信 ...
- Express中app.use中间件的用法-匹配所有的请求方式
场景 Node的Web应用框架Express的简介与搭建HelloWorld: Node的Web应用框架Express的简介与搭建HelloWorld_霸道流氓气质的博客-CSDN博客 Express ...
- AJAX中的请求方式以及同步异步的区别
请求方式,分为GET与POST: GET 最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用window.location.searc ...
最新文章
- Nature调查:读博难,在中国读博难上加难
- 架构之美读书笔记03
- 年轻人,别动不动就想搞个“大社交”,工具型社交才是正路子
- C++ STL学习之容器set和multiset (补充材料)
- 探索startActivity流程及在Activity间是如何传递Intent的
- mysql 分库分表架构与方案
- Guava链式风格Ordering比较器实例
- Android MemInfo 各项的意义(转)
- Mac mysql 运行sql文件中文乱码的问题
- C/C++使用strcpy报错解决方案
- 敏捷个人:免费下载【敏捷个人 –认识自我、管理自我 V0.2.pdf】
- 官方授权正版 Avast AntiTrack Premium 反跟踪工具软件
- Java对接谷歌邮箱-代码及其谷歌邮箱账号配置
- 复习简记转发器、网桥、路由器、网关的功能
- 曲率、曲率圆和曲率半径
- 1000人 规模园区网设计
- 电影《我不是药神》观后感
- 删除Management Data Warehouse (MDW) job失败
- Java手机游戏开发简明教程 (SunJava开发者认证程序员 郎锐)
- 矢量造型工具重绘矢量标志教程
热门文章
- 调用百度地图API获取经纬度(详细步骤)
- 未来科技科幻电影全息效果HUD Ultimate FUI HUD Library
- NSQ单节点和集群搭建
- 使用R语言制作令人惊艳的海报
- robin-Miller判断素数算法
- sqlConnection连接不上sql 2000 原来是因为没有打补丁sp4
- mysql like带字符串_(转)MySQL数据表中带LIKE的字符匹配查询
- 关于游戏现状的一点想法
- ChatGPT牛逼,是因为Transformer模型牛逼...
- 【Simulator IOS虚拟机】IOS虚拟机设置中文输入