官术网_书友最值得收藏!

RESTful design

In the 2010s, machines and even smartphones were able to access plenty of CPU resources, and network bandwidths of a few hundred Mbps were everywhere. Developers started to utilize these resources to make application code and system structures as easy as possible, making the software development cycle quicker.

Nowadays, there are sufficient hardware resources available, so it makes sense to use HTTP/SSL as the RPC transport. In addition, from experience, developers choose to make this process easier as follows:

  • By making HTTP and SSL/TLS as standard transport
  • By using HTTP method for Create/Load/Upload/Delete (CLUD) operation, such as GETPOSTPUT, or DELETE
  • By using the URI as the resource identifier, the user with the ID 123, for example, would have the URI of /user/123/
  • By using JSON for standard data presentation

These concepts are known as Representational State Transfer (RESTful) design. They have been widely accepted by developers and have become the de facto standard of distributed applications. RESTful applications allow the use of any programming language, as they are HTTP-based. It is possible to have, for example, Java as the RESTful server and Python as the client.

RESTful design brings freedom and opportunities to the developer. It makes it easy to perform code refactoring, to upgrade a library, and even to switch to another programming language. It also encourages the developer to build a distributed modular design made up of multiple RESTful applications, which are called microservices.

If you have multiple RESTful applications, you might be wondering how to manage multiple source codes on VCS and how to deploy multiple RESTful servers. However, CI and CD automation makes it easier to build and deploy multiple RESTful server applications. For this reason, the microservices design is becoming increasingly popular for web application developers.

主站蜘蛛池模板: 明光市| 鄢陵县| 丘北县| 星子县| 环江| 敦化市| 盈江县| 讷河市| 滁州市| 金湖县| 宝鸡市| 柳州市| 宝鸡市| 江川县| 张北县| 乌审旗| 上虞市| 临西县| 东平县| 内丘县| 岐山县| 蒙阴县| 邢台市| 达日县| 垫江县| 炎陵县| 阿鲁科尔沁旗| 湖口县| 渭源县| 桃江县| 黄浦区| 浑源县| 陆丰市| 渝北区| 准格尔旗| 江川县| 离岛区| 泗水县| 新河县| 彭泽县| 慈利县|