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

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

本文主要介绍HTTP提交方法PUT的详细介绍以及POST和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请求-封装在请求中的实体-URI。如果请求URI引用现有的资源,那么封装的实体应该作为原始服务器上的修改版本。如果请求URI没有指向一个现有的资源,并且URI可以被所请求的用户代码定义为一个新的资源,那么原始服务器可以用这个URI创建一个新的资源。如果创建了新资源,原始服务器必须用201(Created)响应通知用户代理。如果现有资源已被修改,则发送响应200或204,表明请求已成功完成。如果请求-URI既不创建也不修改资源,则应该给出适当的错误响应来反映问题的性质。实体的接收方不能忽略任何不被理解或实现的Content-*(比如Content-Range)头,必须返回501响应。

如果请求被缓存,并且请求URI标识一个或多个当前缓存的实体,则这些实体被认为是过期的。此方法的响应将不会被缓存。

2.POST和PUT的要求是根本不同的。

POST请求的URI指示处理封闭实体的资源,该实体可以是数据接收进程、某种协议的网关或接收评论的独立实体。但是,PUT请求中的URI表明请求中的封闭实体——用户代理知道URI的目标,服务器不能将请求应用到其他资源。如果服务器希望请求被应用到另一个URI,它必须发送一个301响应;代理可以根据自己的判断决定是否转发请求。

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

PUT请求必须符合信息传输要求。

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

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