zoukankan      html  css  js  c++  java
  • RESTful API设计方法

    1.如果已经开始逐步的接触到了RESTful API设计方法的朋友,首先要对HTTP/HTTPS有一个大致的了解,虽然本身和RESTful API没有什么关系。但是对于增加网站的安全性还是十分重要的,这里就涉及到了是否公开API接口的时候,否则会导致用户信息泄露,使网站的信誉受到影响。

    2.什么是REST?

    REST全称(resource representational state transfer)即资源在网络中按照某种形式进行状态转移 --所谓的状态转移

    可以说:REST是一种系统架构设计风格而非标准,是一种大家都可以接受的设计风格,是一种分布式的应用层解决方案

    3.诞生的背景?

    在早期,网页的前后台是一体的,比如PHP,JSP 。随着快速发展,现在的移动端充斥着各种的Client(客户端),于是就迫切的需要一种统一的机制来完成前后端通信,于是REST就应用而生。

    3.RESTful API

    对于RESTful API来说,和计算机一样,都是从零到有。而RESTful API就是目前比较成熟的的一套应用程序API设计理论

    4.使用RESTful API的目的?

    目的:Client和Server端进一步解耦。

    5.优点

    (1)客户端-服务器(Client-Server):提供服务的服务器和使用服务的客户端分离解耦;

       优点:提高客户端的便捷性(操作简单)

            简化服务器提高可伸缩性(高性能、低成本)

            允许客户端服务端分组优化,彼此不受影响

    (2)无状态(Stateless):来自客户的每一个请求必须包含服务器处理该请求所需的所有信息(请求信息唯一性);

       优点:提高可见性(可以单独考虑每个请求)

            提高可靠性(更容易故障恢复)

            提高了可扩展性(降低了服务器资源使用)

    (3)可缓存(Cachable):服务器必须让客户端知道请求是否可以被缓存?如果可以,客户端可以重用之前的请求信息发送请求;

       优点:减少交互连接数

            减少连接过程的网络时延

    (4)分层系统(Layered System):允许服务器和客户端之间的中间层(代理,网关等)代替服务器对客户端的请求进行回应,而客户端不需要关心与它交互的组件之外的事情;

       优点:提高了系统的可扩展性

            简化了系统的复杂性

    (5)统一接口(Uniform Interface):客户和服务器之间通信的方法必须是统一化的。(例如:GET,POST,PUT.DELETE)

       优点:提高交互的可见性

            鼓励单独优化改善组件

    (6)支持按需代码(Code-On-Demand,可选):服务器可以提供一些代码或者脚本并在客户的运行环境中执行。

       优点:提高可扩展性

    6.API与Client的通信协议,总是使用HTTPS协议。

    7.以资源为中心的URL设计

    资源是 RESTful API 的核心元素,所有的操作都是针对特定资源进行的。而资源就是 URL(Uniform Resoure Locator)表示的,所以简洁、清晰、结构化的 URL 设计是至关重要的。

  • 相关阅读:
    000 初步使用Kotlin开发Android应用
    使用Kotlin开发Android应用
    使用Kotlin开发Android应用(IV):自定义视图和Android扩展
    使用Kotlin开发Android应用(III):扩展函数和默认值
    使用Kotlin开发Android应用(II):创建新工程
    使用Kotlin开发Android应用
    Retrofit2.2说明-简单使用
    Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
    android开发环境 eclipse + android sdk配置笔记
    Android 百度地图定位(手动+自动) 安卓开发教程
  • 原文地址:https://www.cnblogs.com/zxh1297/p/9426977.html
Copyright © 2011-2022 走看看