- Creative Projects for Rust Programmers
- Carlo Milanesi
- 281字
- 2021-06-18 19:01:59
Creating a REST Web Service
Historically, a lot of technologies have been developed and used to create a client-server system. In recent decades, though, all client-server architectures tend to be web-based—that is, based on the HyperText Transfer Protocol (HTTP). HTTP is based on the Transfer Control Protocol (TCP) and the Internet Protocol (IP). In particular, two web-based architectures have become popular—the Simple Object Access Protocol (SOAP) and Representational State Transfer (REST).
While SOAP is an actual protocol, REST is only a collection of principles. The web services adhering to the REST principles are said to be RESTful. In this chapter, we'll see how to build RESTful services using the popular Actix web framework.
Any web service (REST web services included) can be used by any web client—that is, any program that can send HTTP requests over a TCP/IP network. The most typical web clients are web pages running in a web browser, and containing JavaScript code. Any program written in any programming language and running in any operating system implementing the TCP/IP protocols can act as a web client.
The web servers are also known as the backend, while the web client is known as the frontend.
The following topics will be covered in this chapter:
- The REST architecture
- Building a stub of a web service using the Actix web framework and implementing the REST principles
- Building a complete web service capable of uploading files, downloading files, and deleting files on client request
- Handling an inner state as a memory database or a pool of connections to a database
- Using JavaScript Object Notation (JSON) format to send data to clients
- Delphi程序設(shè)計基礎(chǔ):教程、實驗、習題
- Boost C++ Application Development Cookbook(Second Edition)
- vSphere High Performance Cookbook
- Three.js開發(fā)指南:基于WebGL和HTML5在網(wǎng)頁上渲染3D圖形和動畫(原書第3版)
- Vue.js 3.0源碼解析(微課視頻版)
- 區(qū)塊鏈:以太坊DApp開發(fā)實戰(zhàn)
- The Computer Vision Workshop
- Python機器學習經(jīng)典實例
- Hands-On Natural Language Processing with Python
- HTML5+CSS3 Web前端開發(fā)技術(shù)(第2版)
- Node.js開發(fā)指南
- .NET 4.5 Parallel Extensions Cookbook
- 自學Python:編程基礎(chǔ)、科學計算及數(shù)據(jù)分析(第2版)
- R語言實戰(zhàn)(第2版)
- 精益軟件開發(fā)管理之道