• [RESTful] 几段话告诉你为啥用RESTful接口


    RESTful是什么?

      本质:一种软件架构风格

      核心:面向资源

      解决的问题:降低开发的复杂性,提高系统的可伸缩性

      设计概念和准则:

        1、网络上所有的事物都可以被抽象为资源

        2、每个资源都有唯一的资源标识,对资源的操作不会改变这些标识

        3、所有的操作都是无状态的

      “资源”就是网络上的一个实体,或者说网络上的一个具体信息。(比如文本、音频、视频等)

    HTTP协议

      完整的URL地址:schema://host[:post]/path[?query-string][#anchor]

    • scheme:指定底层使用的协议,例如:http,https,ftp
    • host:服务器的IP地址或者域名
    • port:服务器端口,默认为80
    • path:访问资源的路径
    • query-string:发送给http服务器的数据
    • anchor:锚(定义页面特定章节位置)

      请求的组成格式:请求行、消息报头、请求正文

    • 请求行:Method Request-RUI HTTP-Version CRLF
      例如:GET/HTTP/1.1 CRLF  (CRLF回车或换行符)
    • 请求方式
      • GET:请求获取Request-URI所标识的资源
      • POST:在Request-URI所标识的资源后附加新的数据
      • HEAD:请求获取由Request-URI所标识的资源的响应消息报头
      • PUT:请求服务器存储一个资源,并用Request-URI作为其标识
      • DELETE:请求服务器删除Request-URI所标识的资源
      • OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求

      响应组成格式:状态行、消息报头、响应正文

    • 状态行:HTTP-Version Status-Code Reason-Phrase CRLF
      例如:HTTP/1.1 200 OK
    • 常用状态码:
      • 200 OK  客户端请求成功
      • 400 Bad Request  客户端请求有语法错误,不能被服务器所理解
      • 401 Unauthorized  服务器收到请求,但是拒绝提供服务。需要授权的资源
      • 404 Not Found  请求资源不存在
      • 500 Internal Server Error  服务器发生不可预期的错误
      • 503 Server Unavailable  服务器当前不能处理客户端请求

    RESTful架构和其他架构的区别

      SOAP WebService:

        WebService是一种跨编程语言和操作系统平台的远程调用技术。

        WebService通过HTTP协议发送请求和接收结果时采用XML格式封装,并增加了一些特定的HTTP消息头,这些特定的HTTP消息头和XML内容就是SOAP协议。

        

      效率和易用性:

      SOAP由于各种需求不断扩充其本身协议,导致SOAP处理方面的性能有所下降。同时在易用性方面以及学习成本上也有所增加。

      RESTful由于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时也最大限度的利用了HTTP最初的应用协议设计理念。

      安全性:

      RESTful对于资源型服务接口来说很合适,同时特别适合对效率要求很高但是对于安全要求不高的场景。

      SOAP的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。根据不同场景选择不同的架构。

  • 相关阅读:
    线段树练习两题
    DP+单调队列 codevs 1748 瑰丽华尔兹(还不是很懂具体的代码实现)
    线段树和树状数组问题补充
    一些常见的优化:读入优化,滚动数组
    单调队列应用--BZOJ 3831 Little Bird
    单调队列练习之广告印刷
    详解--单调队列 经典滑动窗口问题
    数据结构--栈 codevs 1107 等价表达式
    离散化+线段树 POJ 3277 City Horizon
    求次短路 codevs 1269 匈牙利游戏
  • 原文地址:https://www.cnblogs.com/x-you/p/8625607.html
Copyright © 2020-2023  润新知