首页
学习
活动
专区
圈层
工具
发布

浅谈web开发中的Get和Post方法get和post的区别

在http协议中,实际上有八个http方法。但在实际开发中,绝大多数情况我们只会用到两个方法,就是get和post。所以我们来稍微谈谈两种方法的区别,以及何时应该选取何种方法。...get和post的区别 post有一个体! 这个是关键。 ? Paste_Image.png ?...Paste_Image.png get和post都能发送参数,但是利用get的话,对参数数据量有限制,因为参数只能是放在请求行的内容中。而post由于在体中,则没有数据量的限制。...同时还有一个问题,就是get可以建立书签,而post请求则不可以。 ** 除了上述的数据量大小,安全,书签的差别之外,还有一个非常重要的差别就是是否幂等** 什么是幂等呢?...** get是幂等的,而post不是幂等的**

2.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HTTP 协议的常用方法有哪些?(GET、POST、PUT、DELETE、PATCH)各自的作用和区别是什么?

    HTTP 协议定义了多种请求方法,用于指定客户端对服务器资源的操作。...其中最常用的是 ​​GET​​​、​​POST​​​、​​PUT​​​、​​DELETE​​​、​​PATCH​​,它们的作用和区别如下:1....是非安全的(可能修改资源状态)和非幂等的(多次执行可能产生不同结果,如重复提交订单会创建多个订单)。默认不可缓存,不会被浏览器历史记录保存。...幂等性:指多次执行相同请求后,服务器资源状态是否一致(​​GET​​/​​PUT​​/​​DELETE​​/​​PATCH​​ 是幂等的,​​POST​​ 通常非幂等)。...实际开发中,部分场景可能灵活使用(如 ​​POST​​ 也可用于更新资源),但遵循规范能提高接口的可读性和一致性。

    1.3K10

    Web安全|为什么要禁止除GET和POST之外的HTTP方法?

    因此,有必要说明一下,为什么要禁止除GET和POST之外的HTTP方法。 换句话说,对于这些HTTP不安全方法,到底有多不安全呢?...的 readonly参数默认是true,即不允许DELETE和PUT操作,所以通过PUT或DELETE方法访问,就会报403错误。...(二)漏洞利用 1、PUT上传和DELETE删除文件成功 在DefaultServlet的readonly参数为falsed的情况下,使用Curl进行测试,发现已能通过PUT上传和DELETE删除文件。...因此,当PUT上传jsp和jspx文件时,Tomcat用JspServlet来处理请求,而JspServlet中没有PUT上传的逻辑,所以会403报错。...写到这里,也许大家都明白了,为什么要禁止除GET和POST外的HTTP方法,一是因为GET、POST已能满足功能需求,二是因为不禁止的话威胁影响大。

    6.3K21

    Spring Boot从零入门5_五脏俱全的RESTful Web Service构建

    通过使用事先定义好的接口与不同的服务联系起来,浏览器使用POST,DELETE,PUT和GET四种主要请求方式分别对指定的URL资源进行增删改查操作。...RESTful 对 URL 或者 API 的设计总的原则就是将所有操作对象都看作一个资源,操作这个(些)资源(名词)的方法通过 HTTP的方法类型(动词)去实现: # GET, HEAD, POST,...和password,这样既不安全也不是RESTful API 登录和登出本质上就是获取一个具有时间限定的会话(session),其中保持这个会话的枢纽就是token,而REST中是没有session的,...MVC框架有两个版本,一个是Model1,也就是MVC的第一个版本,它的视图中存在着大量的流程控制和代码开发,也就是控制器和视图还具有部分的耦合。 ?...在控制器代码里,通过@RequestMapping将/api/v1映射到整个User控制器上,User控制器里具体的方法则由@RequestMapping作用到指定的HTTP请求方法上,即用户的增删查改

    1.3K10

    相关的注解有哪些?

    是一种基于HTTP协议的软件架构风格,用于设计Web API,可以降低开发的复杂性,提高系统的可伸缩性。1)传统的资源描述形式http://localhost/user/getById?...常用的请求方法:GET(查询)、POST(新增/保存)、PUT(修改/更新)、DELETE(删除)为什么称其为REST风格而不是REST规范呢?因为这些行为只是一种约定方式,并不是规范。...@RequestMapping 说明 类型 方法注解 位置 SpringMVC控制器方法定义上方 作用 设置当前控制器方法请求访问路径 属性 value...形参注解 位置 SpringMVC控制器方法形参定义前面 作用 绑定路径参数与处理器方法形参间的关系(要求路径参数名与形参名一一对应) 3、注解小结1)用法总结@RequestParam...、@PostMapping、@PutMapping、@DeleteMapping1)类型:方法注解2)位置:基于SpringMVC的RESTful开发的控制器方法定义上方3)作用:设置当前控制器方法请求访问路径与请求动作

    51410

    Asp.Net Web API中使用Session,Cache和Application的几个方法

    在ASP.NET中,Web Api的控制器类派生于ApiController,该类与ASP.NET的Control类没有直接关系,因此不能像在Web MVC中直接使用HttpContext,Cache...不过,要在控制器类中通过HttpContext的Session属性直接使用Session状态数据,将抛出nullreference异常,网查主要有两种解决方案,一个是重载Global的init()方法,...在该方法中开放Session状态,另一个设计带Session的路由处理器     重载Global的Init() public class WebApiApplication : System.Web.HttpApplication...GlobalConfiguration.Configure(WebApiConfig.Register); } } 设计路由处理器   建立HttpControllerHandler和HttpControllerRouteHandler...{ route.MapHttpRoute( name: "WebApiRoute1", routeTemplate: "api

    1.8K10

    在 ASP.NET Core 中实现幂等 REST API

    在 Web API 的上下文中,幂等意味着发出多个相同的请求应具有与发出单个请求相同的效果。换句话说,无论客户端发送同一请求多少次,服务器端效果都应该只发生一次。...以下是它对幂等方法的描述: 如果使用该方法的多个相同请求对服务器的预期效果与单个此类请求的效果相同,则认为该请求方法是“幂等的”。...在本规范定义的请求方法中,PUT、DELETE 和安全请求方法 [(GET、HEAD、OPTIONS 和 TRACE) — 作者注] 是幂等的。...几种 HTTP 方法本质上是幂等的: GET, : 在不修改服务器状态的情况下检索数据。HEAD PUT:更新资源,无论是否重复,都会产生相同的状态。 DELETE:删除多个请求具有相同结果的资源。...POST本身并不是幂等的,因为它通常会创建资源或处理数据。重复请求可能会创建多个资源或触发多个操作。POST 但是,我们可以为使用自定义逻辑的方法实现幂等性。

    64410

    【Java】已解决:org.springframework.web.HttpRequestMethodNotSupportedException

    该异常通常发生在处理HTTP请求时,当请求的HTTP方法(如GET、POST、PUT、DELETE等)不被控制器方法支持时,就会抛出此异常。...场景包括前端调用API时使用了错误的HTTP方法,或者后端控制器方法的映射配置不正确。...request"); } } 假设客户端发送了一个PUT请求: PUT /api/data HTTP/1.1 Host: localhost:8080 由于控制器中没有处理PUT请求的方法,就会抛出...遵循RESTful规范:在设计API时,遵循RESTful规范,根据资源操作的类型选择合适的HTTP方法(GET、POST、PUT、DELETE等)。...通过遵循以上注意事项,可以有效避免 HttpRequestMethodNotSupportedException 异常的发生,提升Web应用程序的稳定性和用户体验。

    1.9K10

    springMVC基础

    处理delete请求映射 --> @DeleteMapping 常用的请求方式get,post,put,delet 目前浏览器只支持get和post,若form表单提交时,为method设置其他请求方法的字符串...(put或delete),按照默认get方法处理 若要发送put和delete请求,需要通过spring提供的过滤器HiddenHttpMethodFilter,restfu风格。...:表示任意的单个字符 *:表示任意的0个或多个字符 **:表示任意的一层或多层目录 注意:在使用**时,只能使用/**/xxx的方式 3) springMVC支持路径占位符(@PathVariable)..." /> 六、restful HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。...3)多个拦截器的执行顺序 1、如果每个拦截器preHandle都返回true 此时多个拦截器执行顺序和拦截器在SpringMVC的配置文件的配置顺序有关 preHandle()会按照配置顺序执行,而

    17900

    抛弃Servlet API和Postman开发RESTful

    它具有无需Servlet、异步两大特征,从而更好地提高Web应用的可伸缩性。 Spring WebFlux简介 Spring WebFlux由Spring 5.0框架首次引入。...简单来说,Mono包含多个数据项,而Flux能包含多个数据项。Spring WebFlux一样也要用Mono和Flux这两个类。...Mono和Flux正是Reactor框架中消息发布者API,它们都实现了CorePublisher接口,这就表示采用了基于“订阅-发布”的异步模式。...提示 使用Map模拟内存中的数据库在学习控制器层和Service层开发时很有用,因为这样可以避免涉及数据库开发,从而更好地聚焦正在学习的内容。...运行该应用的主类来启动应用,然后可使用Postman来发送GET、POST、PUT、DELETE请求来测试上面这些处理方法。 使用curl代替Postman 本节打算教读者使用curl来测试它们。

    2.2K20

    如何使用 Spring Boot 创建 REST API ?

    @RequestMapping注释指定此控制器处理的所有请求的基本 URL。 接下来,我们需要添加处理 HTTP 请求的方法。...在此示例中,我们将添加方法来处理 GET、POST、PUT 和 DELETE 请求。...它用于将 /api/v1/products 路径映射到此类。@RequestBody是 Spring Framework 中的一个注释,用于将 HTTP 请求正文绑定到控制器方法中的参数。...当客户端发送 HTTP POST 或 PUT 请求时,它可能会在请求正文中包含数据。此数据通常采用 JSON 或 XML 格式,包含有关正在创建或更新的资源的信息。...当向 /api/v1/product/{id} 发出 PUT 请求时,将执行 updateProduct() 方法,并将 id 参数设置为来自 URL 路径和产品的产品 ID。

    3.6K30
    领券