【项目开发】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)的架构应如何运行;同时强调统一的接口、组件的独立部署、组件之间交互的可扩展性,以及创建分层架构以促进缓存以减少用户感知的延迟、加强安全性并封装遗留系统。
它结构清晰、符合标准、易于理解且扩展性强,因此广泛应用于各大网站的开发中。