Representational state transfer (REST) is a software architecture for communication between applications. REST APIs commonly use HTTP to let clients request server resources and receive responses, making them useful for network automation and SDN northbound interfaces. section 23.0 section 23.3
REST uses a client-server model: the client sends an HTTP request, and the server processes it and returns a response. The separation allows both applications to evolve independently without breaking their interface. section 23.3.1
The key REST characteristics and request concepts are:
- Stateless exchanges treat every request as an independent event; the server does not use previous requests to determine its response. Required authentication credentials therefore accompany each request. section 23.3.1
- REST defines six constraints: uniform interface, client-server, stateless, cacheable or noncacheable, layered system, and optional code on demand. section 23.3.1
- CRUD actions map generally to HTTP methods: POST creates, GET reads, PUT or PATCH updates, and DELETE removes. section 23.4
- A request uses an HTTP method to specify the desired action and a Uniform Resource Identifier (URI) to identify its target. Response codes indicate the result, including 2xx success, 4xx client error, and 5xx server error. section 23.4
Figure 22.6 The three layers of SDN architecture: Application, Control, and Infrastructure. The NBI facilitates communication between the Application and Control Layers, and the SBI facilitates communications between the Control and Infrastructure Layers.
The SDN layer diagram shows REST commonly connecting an Application Layer with a controller through the northbound interface, while the southbound interface connects the controller to infrastructure. section 22.2.2
Network automation
An application can make a REST API call to Cisco Catalyst Center, using an HTTP request to access controller data and receiving the requested information in a response. section 23.0 section 23.3





















