HTTP提交方式之PUT详细介绍及POST和PUT的区别

随心笔谈2年前发布 admin
191 0 0

文章摘要

本文介绍了HTTP协议中除了`GET`和`POST`之外的其他主要请求方法,包括`PUT`、`DELETE`、`OPTIONS`、`GET`、`HEAD`、`POST`、`PUT`、`CONNECT`等。文章重点阐述了`PUT`和`POST`方法的区别: 1. **PUT方法**:用于将请求实体发送到目标资源,修改服务器上的现有资源。如果目标资源不存在,`PUT`方法可创建新资源并返回`201(Created)`响应;如果目标资源存在,修改后返回`200`或`204`响应;修改失败则返回适当错误响应。 2. **POST方法**:通常用于向服务器发送请求,创建或更新资源。`POST`方法通过`URI`指定处理的资源实体,服务器无法将其应用到其他资源,除非通过`301`响应转发。 文章还提到,`HEAD`方法不返回响应内容,仅返回状态码,`OPTIONS`方法用于协商可用的HTTP方法,而`CONNECT`方法用于测试连接状态。此外,`PUT`方法需遵守信息传输要求,并通过`实体头部`明确指定修改资源。



Http定义了与 服务器的交互方法,其中除了一般我们用的最多的GET,POST 其实还有PUT和DELETE

根据RFC2616标准(现行的HTTP/1.1)其实还有OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT

简单地结束一下吧。

1、PUT: 把消息本体中的消息发送到一个URL,跟POST类似,但不常用。

简单地说:通常用于向服务器发送请求,如果URI不存在,则要求服务器根据请求创建资源,如果存在,服务器就接受请求内容,并修改URI资源的原始版本。

—–PUT请求那些封装在Request-URI的实体。如果Request-URI引用一个已存在的资源,则该封装实体应该作为原始服务器上的修改版本。如果Request-URI不是指向一个已存在的资源,并且该URI可被请求的用户代码定义为新资源,则原始服务器可用此URI创建新的资源。如果新的资源被创建,这个原始服务器就必须通过201(Created)响应通知用户代理。如果已有资源被修改,则发送200或者204响应,表示成功完成了该请求。如果Request-URI既没有创建也没有修改资源,则应给予适当的错误响应来反映问题本质。实体的接受者不能忽略任何不理解或没有实现的Content-*(如Content-Range)头部,并且必须返回501响应。

如果请求经过缓存,并且Request-URI标识出一个或多个当前缓存的实体,则那些实体视为过期了。该方法的响应不会被缓存。

2、POST和PUT的请求根本区别

POST请求的URI表示处理该封闭实体的资源,该资源可能是个数据接收过程、某种协议的网关、或者接收注解的独立实体。然而,PUT请求中的URI表示请求中封闭的实体-用户代理知道URI的目标,并且服务器无法将请求应用到其他资源。如果服务器希望该请求应用到另一个URI,就必须发送一个301响应;用户代理可通过自己的判断来决定是否转发该请求。

HTTP/1.1没有定义一个PUT请求如何影响原始服务器的状态。

PUT请求必须遵守信息传输要求。

除非另有说明,PUT请求中的实体头部应该用于PUT创建或修改的资源上。

您可能感兴趣的文章:HTTP 错误 500.19- Internal Server Error 错误解决方法HTTP 错误 403.1 – 禁止访问:执行访问被拒绝。 解决方法该页无法显示http协议详解(超详细)HttpWebRequest和HttpWebResponse用法小结apache https配置详细步骤讲解java使用httpclient模拟post请求和get请求示例C#中HttpWebRequest的用法详解javascript XMLHttpRequest对象全面剖析PHP获取http请求的头信息实现步骤IIS HTTP 错误 404.17 – Not Found 解决方法HTTP 2.0 详细介绍

© 版权声明

相关文章