zoukankan      html  css  js  c++  java
  • 每天一道Java题[7]

    题目

    什么是REST原则,请解释RESTful架构,以及其设计思想?

       

    解答

    REST,全称为Representation State Transfer,是一种互联网软件的架构原则。凡是满足REST原则的,我们都称它为RESTful架构。

       

    对RESTful架构的理解,有以下几点:

    1. 资源,网络上的一个实体,或者是一个具体的信息。通常使用一个URI来表示一种资源。
    2. Representation,可理解为资源的表现层,资源的具体表现形式。在http请求的头信息Accept和Content-Type字段指定具体表现形式,如application/json
    3. State Transfer,可理解为状态转移,客户端要对服务器资源进行操作,必须通过某种手段,让服务器上的资源发生状态变化,这就是所谓的state Transfer了。通常客户端通过四个HTTP动词(GET、PUT、POST、DELETE),对服务端资源进行操作,实现State Transfer。

    理解上述几点,基本就对RESTful架构有了大概的了解了。

       

    RESTful API设计思想关键点如下:

    1. 一定要使用https,不要http重定向
    2. 标明专属api域名或者子目录,如https://www.huangzijian.me/api/
    3. 表明版本号,如https://www.huangzijian.me/api/v1/
    4. 因为每一个URI表示的是一个资源,故路径上应该采用名词来表示,而不要用动词。由于通常情况下均表示一类资源,因此要采用复数,如https://www.huangzijian.me/api/v1/exams
    5. 采用HTTP动词的GET、POST、PUT、DELETE分表表示资源的获取、新增、更新和删除。
    6. 注意服务器向客户端返回的状态码及其提示信息。
    7. 建议传输的数据格式采用JSON。

       

    参考资料

    1.RESTful API 设计指南(http://www.ruanyifeng.com/blog/2014/05/restful_api.html)

    2.理解RESTful架构(http://www.ruanyifeng.com/blog/2011/09/restful)

       

  • 相关阅读:
    基础抽象代数
    斜堆
    WC2018
    WC2019
    有向图上不相交路径计数
    生成树计数
    Prüfer序列
    反演
    1.1 Linux中的进程 --fork、孤儿进程、僵尸进程、文件共享分析
    Python程序的执行过程 解释型语言和编译型语言
  • 原文地址:https://www.cnblogs.com/huangzijian/p/6880602.html
Copyright © 2011-2022 走看看