序言 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. 【兼容】IE下PNG色差

    IE(包括IE7)中的PNG色差问题http://bbs.blueidea.com/thread-2910513-1-1.html修正IE对PNG颜色显示错误的问题http://www.lizhenw ...

  2. mysql qps tps

    (1)QPS(每秒Query量) QPS = Questions(or Queries) / seconds mysql > show global status like 'Question% ...

  3. 【Java基础之容器】Iterator

    Iterator: ->所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象 ->Iterator对象称作迭代器,用以方便的实 ...

  4. EF Code First 学习笔记:约定配置

    要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就 ...

  5. Apache配置虚拟目录和多主机头

    呃,相当古老的话题了,不过网上的资料实在是太坑爹,无奈只能自己动手做个备忘了...这里不提虚拟目录和主机头的区别了,不懂得童鞋去面壁思过吧 多个虚拟目录 首先把Apache安装到D:\Program ...

  6. MVC Action Filter

    ASP.NET MVC Framework支持四种不同类型的Filter: Authorization filters – 实现IAuthorizationFilter接口的属性. Action fi ...

  7. 静态Web开发 JavaScript

    三章 Javascript 1节javascript基本语法和注意事项 脚本,一条条的文字命令.执行时由系统的一个解释器,将其一条条的翻译成机器可识别的指令,然后执行.(不需要编译)常见的脚本:批处理 ...

  8. 【暑假】[实用数据结构]UVAlive 4670 Dominating Patterns

    UVAlive 4670 Dominating Patterns 题目:   Dominating Patterns   Time Limit: 3000MS   Memory Limit: Unkn ...

  9. uvalive 5031 Graph and Queries 名次树+Treap

    题意:给你个点m条边的无向图,每个节点都有一个整数权值.你的任务是执行一系列操作.操作分为3种... 思路:本题一点要逆向来做,正向每次如果删边,复杂度太高.逆向到一定顺序的时候添加一条边更容易.详见 ...

  10. Django – vicalloy's trac

    Django – vicalloy's trac Search: