Get
in touch
Thank you for your interest in TechieDoods and our services. Please feel free to contact us with any questions that you might have. We will be glad to hear from you!
Web developers today have a myriad of technologies they can choose from; everything from simplified database access, to easy wrapping of existing middleware services, to a plethora of interesting client-side software. while I started my development all of these products and tools are there to give me the ability to create the best web-based applications in the shortest amount of time.
By now, most developers have at least having some hands-on creating REST-based and web-service approach for Request and Response on client-server communication. A web service and an API are two very similar concepts, so it can be difficult to understand the similarities and differences.
Before we get started further explaining web services and APIs, we first need to define a few other terms:
A Web service is a way for two machines to communicate with each other over a network. A webserver running on a computer listens for requests from other computers. When a request from another computer is received, over a network, the Web service returns the requested resources. This resource could be JSON, XML, an HTML file, Images, Audio Files, etc.
An API, or Application Programming Interface, is a set of definitions and protocols that allow one application to communicate with another application. In general, when we speak about APIs, we are likely speaking about web APIs [APIs that are accessible over the internet]. This is not always the case though. APIs can be exposed through local files (such as a JAR file in a Java program, .H file in C/C++ programs, etc.) to allow two local applications to communicate with each other. This doesn’t require a network as the two applications are communicating within a single device.
As said earlier there are lots of difference between web service and API “All Web Services are APIs, but not all APIs are Web services”.
The short answer? Yes, REST APIs are a type of Web Service APIs. A REST API is a standardized architecture style for creating a Web Service API. One of the requirements to be a REST API is the utilization of HTTP methods to make a request over a network.
REST was officially defined by computer scientist Roy Fielding in 2000 during his Ph.D. dissertation. It essentially changed the way applications are built. The implementation of the frontend “client” can be built completely independently from the backend “server.”
A REST request from the client to the server usually consists of the following components:
Let’s say that you want to see what your best friend posted on Instagram. To do this, you need to go on the app and open up your friend's Instagram page. In this example, your Instagram app [the client], would make a request to Instagram’s server [the server] to request your friend’s Instagram profile. This request would be a GET request to the /users endpoint and in the parameters of the request your friend’s account ID would be included.
In the same way that you use a GET request to retrieve data, a POST request would be used to create data on a platform. So let’s use the example of posting an image to Instagram. This request would be a POST request to the /media endpoint with a body of the image and parameters with your caption.
The reason REST is so great is that it offers a standardized methodology for making requests to an API. Once you learn one REST API, other REST APIs are going to function in a similar way.
If an API is available over the internet, there is no need to install additional software within your application. You can access the data from any application that is connected to the same network as the API.
With separated development on the client and server, the client code can be updated without affecting the server, and the server code can be updated without affecting the server. This is assuming the changes are developed in a backward-compatible way.
Thank you for your interest in TechieDoods and our services. Please feel free to contact us with any questions that you might have. We will be glad to hear from you!