当前位置: 首页 > article >正文

【项目开发】RESTful架构及RESTful API设计指南

未经许可,不得转载。

文章目录

    • 前言
    • 起源
    • 名词解释
      • 资源(Resources)
      • 表现层(Representation)
      • 状态转化(State Transfer)
    • RESTful架构的基本特征
    • REST API设计指南
      • 一、协议
      • 二、域名
      • 三、版本(Versioning)
      • 四、路径(Endpoint)
      • 五、HTTP动词
      • 六、过滤信息(Filtering)
      • 七、状态码(Status Codes)
      • 八、错误处理(Error handling)
      • 九、返回结果
      • 十、Hypermedia API
    • 常见设计误区

前言

随着互联网的发展,越来越多的人开始意识到网站即软件,并且这种软件具有全新的特性。现代网站采用客户端/服务器模式,建立在分布式系统架构上,依托互联网进行通信,通常面临高延迟(high latency)和高并发等挑战。

网站开发已经逐渐趋向于采用软件开发的模式。传统上,软件开发和网络通信是两个不同的领域,彼此之间很少交集。软件开发更专注于单机环境,而网络则主要研究系统之间的通信。然而,随着互联网的兴起,这两个领域的界限逐渐模糊。我们现在必须考虑如何在互联网环境中开发和部署软件。

REST(Representational State Transfer)是一种软件架构风格,旨在指导万维网架构的设计和开发。 REST 定义了一组约束,规定了分布式、互联网规模的超媒体系统(如 Web)的架构应如何运行;同时强调统一的接口、组件的独立部署、组件之间交互的可扩展性,以及创建分层架构以促进缓存以减少用户感知的延迟、加强安全性并封装遗留系统。

它结构清晰、符合标准、易于理解且扩展性强,因此广泛应用于各大网站的开发中。


http://www.kler.cn/a/389835.html

相关文章:

  • 【AI大模型】ELMo模型介绍:深度理解语言模型的嵌入艺术
  • 解决表格出现滚动条样式错乱问题
  • 5G时代的关键元件:射频微波MLCCs市场前景广阔
  • rockylinux 8安装 gcc11.2
  • D67【python 接口自动化学习】- python基础之数据库
  • 开源vs闭源:你更看好哪一方?
  • 《数学学报》
  • c和cpp的异常处理
  • 【Linux】常用命令(2.6万字汇总)
  • QT-column小节一下
  • 从2D到3D:MoGe——微软的单目3D几何重建模型
  • 为 5G 应用设计天线阵列和 MIMO 系统
  • STM32完全学习——存储器映像
  • Java全栈体系路线
  • 【Java】—— 函数式编程:Lambda表达式、方法引用
  • 如何在 CentOS 6 上设置 NFS 挂载
  • 22.04Ubuntu---ROS2使用rclcpp编写节点C++
  • echarts:当前柱状图默认显示两个,拖拽后显示其他的柱状,请问怎么默认显示所有的?
  • 深入理解TCP/IP协议
  • React融合css
  • caozha-whois(域名Whois查询源码)
  • 模型解释新方向!浙大揭秘LLM隐层之间的知识流动!
  • 使用 FFmpeg 进行音视频转换的相关命令行参数解释
  • 解决C盘空间不足的三种方案
  • 使用LNMP搭建私有云存储
  • C/C++中指针