序言 HTTP是一种应用层协议。SOAP和一些Ajax Web框架都将HTTP作为一种传输信息的协议,难以充分利用HTTP层的基础设施。
1.2 如何保持交互的可见性
    可见性是HTTP的一个核心特征。以下特征完全取决于保持请求和响应的可见性:缓存、乐观并发控制、内容协商、安全性和幂等性
    HTTP通过以下途径来实现可见性:
  1. HTTP的交互是无状态的
  2. HTTP使用一个统一接口,包括OPTIONS,GET,HEAD,POST,DELETE,TRACE方法
  3. HTTP使用一种与MIME类似的信封格式进行表述编码
1.2 何时需要权衡可见性
    下面这些情况,可能需要为了其他好处放弃可见性:方便客户端、抽象、网络效率
1.3 如何维护应用程序状态
    解决方案:将应用程序状态编码到URI里,并通过在表述中包含这些URI,让客户端使用这些URI与资源进行交互。如果状态过大,或出于安全或隐私考虑,不能在网络中传输,则可以在持久化存储中存储应用程序状态,并将其状态的引用编码在URI中。
1.4 如何在服务器端实现安全和幂等的方法
    在HTTP协议中,安全方法是不会引起副作用的。客户端在向安全方法发送请求时,无须担心会引起意料之外的副作用。可以将安全方法实现为只读操作。安全性并不意味着服务器每次都必须返回同一结果。它只是表明客户端可以发起请求,并知道它不会改变资源的状态。
    幂等性保证客户端重复发起某个请求的效果与一次请求的效果一致。
1.5 如何在客户端处理安全和幂等方法
 
1.6 何时使用GET方法
    不要把GET方法用于不安全或非幂等操作,因为这样做可能会造成永久性的、意想不到的、不符合需要的资源改变。有这样的工具:在服务器上通过定期提交一个GET请求来执行健康检查。
1.7 何时使用POST方法
    以下场合使用POST方法:创建新的资源;修改一个或多个资源;执行需要大数据输入的查询;其他HTTP方法看上去不合适时。
    所有基于HTTP的工具会这样对待POST:不会缓存这一方法的响应;网络爬虫和类似的工具不会自动发起POST请求;不会自动重复提交POST请求
 

《RESTful Web Services》第一章 使用统一接口的更多相关文章

  1. RESTful Web Services初探

    RESTful Web Services初探 作者:杜刚 近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTf ...

  2. 使用 Spring 3 来创建 RESTful Web Services

    来源于:https://www.ibm.com/developerworks/cn/web/wa-spring3webserv/ 在 Java™ 中,您可以使用以下几种方法来创建 RESTful We ...

  3. 【转】RESTful Web Services初探

    近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTful风格的Web Services,比较著名的包括Twit ...

  4. 使用 Spring 3 来创建 RESTful Web Services(转)

    使用 Spring 3 来创建 RESTful Web Services 在 Java™ 中,您可以使用以下几种方法来创建 RESTful Web Service:使用 JSR 311(311)及其参 ...

  5. RESTful Web Services简单介绍

    近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTful风格的Web Services,比较著名的包括Twit ...

  6. Spring 3 来创建 RESTful Web Services

    Spring 3 创建 RESTful Web Services 在 Java™ 中,您可以使用以下几种方法来创建 RESTful Web Service:使用 JSR 311(311)及其参考实现 ...

  7. 深入理解RESTful Web Services

    RESTful的软件架构已经多火不用多说,和MVC架构一样,很多网站服务(Web Services)都遵循RESTful设计模式,那么到底什么是RESTful Web Services呢?设计一个RE ...

  8. .NET RESTful Web Services入门

    很早之前看到过RESTful Web Services,并未在意,也没找相关资料进行学习.今天偶尔有一机会,就找了点资料进行研究,发现RESTful真是“简约而不简单”.下面用示例来说明: 1 项目结 ...

  9. 就是这么简单!使用Rest-assured 测试Restful Web Services

    使用 Rest-assured 测试 Restful Web Services 转载注明出处: http://www.cnblogs.com/wade-xu/p/4298819.html 这里向大家介 ...

随机推荐

  1. 【转】IOS的处理touch事件处理(依照手指的移动移动一个圆,开发环境用的ios7,storyboard)-- 不错

    原文网址:http://blog.csdn.net/baidu_nod/article/details/32934565 先看下页面的效果图: 首先定义这个ball它有两个属性和两个方法: @prop ...

  2. C++学习笔记:不用sizeof判断int类型占用几个字节

    #include <stdio.h> #include <string.h> char *change(int val, int base, char *retbuf) { s ...

  3. ubuntu终端提示符@name修改

    需要修改两个文件: 1.在终端输入 vim  /etc/hosts 将当前的name改为ubuntu: 2.在终端输入 vim /etc/hostsname 将当前的name改为ubuntu: 3.重 ...

  4. (转载)HTML与XHTML有什么区别

    转自:http://zhidao.baidu.com/link?url=8wvu7Jbzr-wjeKdWCwWkIiJNSpO3HHLERkgQu1QzuLOPT0zvzkHn9HbAFEjPdchP ...

  5. ubuntu下安装JDK详解

    码农博客 即将到期,现将博客中部分文章转载到博客园.本文发表与2012年,转载时略有删减 安装JDK其实只要搞定两个问题,安装目录以及配置文件.如果你只想要快速安装JDK,请略过此部分直接看安装篇. ...

  6. MVC 实现计算页面执行时间

    使用 ActionFilterAttribute 来实现: public class PerformanceActionAttribute:ActionFilterAttribute { public ...

  7. C: Answers to “The C programming language, Edition 2”

    <The C programming language> Edition 2的习题答案地址: http://users.powernet.co.uk/eton/kandr2/index.h ...

  8. 查表法计算CRC16校验值

    CRC16是单片机程序中常用的一种校验算法.依据所采用多项式的不同,得到的结果也不相同.常用的多项式有CRC-16/IBM和CRC-16/CCITT等.本文代码采用的多项式为CRC-16/IBM: X ...

  9. CentOS上安装MyCat-MySQL

    1.安装JDK,要求JDK7以上. 2.下载MyCat,地址. 3.解压Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz,到usr/local/ ...

  10. 微信浏览器内置JavaScript 对象:WeixinJSBridge

    微信公众平台开发 微信公众平台开发模式 企业微信公众平台 微信浏览器 分享到朋友圈 发送给好友 分享到腾讯微博 作者:方倍工作室 原文: http://www.cnblogs.com/txw1958/ ...