zoukankan      html  css  js  c++  java
  • 《RESTful Web Services》第一章 使用统一接口

    序言 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请求
     
  • 相关阅读:
    几何+点与线段的位置关系+二分(POJ2318)
    二维凸包模板(凸包重心,周长,面积,直径,最大三角形,最小环绕矩形)
    边的双联通+缩点+LCA(HDU3686)
    三维凸包(两个没有公共点)经过旋转平移后使其重心相距最近(POJ3862)
    三维凸包求凸包表面的个数(HDU3662)
    三维凸包求其表面积(POJ3528)
    三维凸包求重心到面的最短距离(HDU4273)
    三维凸包求内部一点到表面的最近距离(HDU4266)
    三维凸包模板
    判断点与多边形的位置关系
  • 原文地址:https://www.cnblogs.com/sunflower627/p/4526436.html
Copyright © 2011-2022 走看看