(Last Updated: 05-11-21) Work in Progress: My experience so far learning about REST APIs.
REST APIs
I really recommend this article from Code Academy on REST APIs, as well as this article from the Stack Overflow blog on best practices. A quick overview is that an API (Application Programming Interface) is an interface that applications use to communicate with each other. A common example is a web API, which is how information is communicated on the web, but another example would be an API for an object-oriented language, such as the Java API, which is used for importing methods of classes. A REST (Representational State Transfer) API is a style of web API. Some principles of REST APIs are client-server separation, stateless requests, resource identifiers, and cacheable data, but the exact principles are kind of vague in my opinion. Clients communicate with servers by making requests to which the server sends a response. Much more on this in the Code Academy post. Some best practices are that REST APIs should accept and respond with JSONs, nouns should be used instead of verbs in paths, and security should be maintained using SSL for example. Other best practices are explained on the Stack Overflow blog.