RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的差别?
2016-03-28 16:06
281 查看
笔者在用调用Google Calendar和Google Tasks的RESTFul API的时候。遇到了一个特殊的操作,PATCH。
那么PATCH操作和PUT操作的差别是什么呢?
依据PATCH for HTTP Method 一文中的描写叙述(http://tools.ietf.org/html/rfc5789)我们知道,PATCH 操作主要用来更新部分资源,并且其不是幂等(所谓的幂等就是每次更新后。结果不变)的。Put操作主要用来更新所有的资源,并且事实上幂等的。
那么PATCH操作的优势是什么呢?由于PATCH操作用来更新部分资源,所以能够节省网络带宽。
当然,PATCH操作也有其缺点,那就是
1.PATCH操作不是安全的和幂等的
2.实现PATCH操作语义的应用必须保证当前的PATCH操作是最小粒度,即它的原子性。
那么PATCH操作和PUT操作的差别是什么呢?
依据PATCH for HTTP Method 一文中的描写叙述(http://tools.ietf.org/html/rfc5789)我们知道,PATCH 操作主要用来更新部分资源,并且其不是幂等(所谓的幂等就是每次更新后。结果不变)的。Put操作主要用来更新所有的资源,并且事实上幂等的。
那么PATCH操作的优势是什么呢?由于PATCH操作用来更新部分资源,所以能够节省网络带宽。
PATCH /user/henryzhu HTTP/1.1 <user> <firstname>Henry Zhu</firstname> </user>
当然,PATCH操作也有其缺点,那就是
1.PATCH操作不是安全的和幂等的
2.实现PATCH操作语义的应用必须保证当前的PATCH操作是最小粒度,即它的原子性。
相关文章推荐
- http,tcp,ip,协议详解
- Windows Azure Web Site (16) Azure Web Site HTTPS
- 应用c#读取带cookie的http数据
- 深度学习和神经网络简史(二)
- 网络协议系列之九:TCP连接的建立与释放
- TCP服务器不回复SYN的问题
- 网络协议系列之八:TCP计时器
- HttpURLConnection GET/POST写法
- 关于在鸿洋大神“是时候来了解okhttp了”文章中,对于一个异常的解决
- 网络协议系列之七:TCP差错控制
- JDBC连接数据库(http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html)
- WinInet、winhttp、winsock的含义和区别
- WinInet, WinHttp, Winsock, ws2_32的区别和联系
- 网络协议系列之六:TCP拥塞控制
- 海量数据网络部署技术
- TCP 一端关闭,另一端调用send进程退出了
- HTTP/2 对 Web 性能的影响(上)
- 使用SSMA将Oracle数据库转成SQL Server 2008 http://www.cnblogs.com/iclotus/archive/2011/12/24/2300063.html
- HTTP/2 对 Web 性能的影响(上)
- 网络基础---TCP连接