What Is an Application Program Interface?

An application programming interface, or API (Application Programming Interface for short), is a convention for connecting different components of a software system.

Application programming interface (English: Application Programming Interface, API for short), also known as application programming interface, is a convention for connecting different components of a software system. Due to the increasing scale of software in recent years, it is often necessary to divide complex systems into small components. The design of programming interfaces is very important. In the practice of programming, the design of the programming interface must first allow the responsibilities of the software system to be reasonably divided. A good interface design can reduce the interdependence of various parts of the system, improve the cohesion of the constituent units, and reduce the degree of coupling between the constituent units, thereby improving the maintainability and expandability of the system.
The main purpose of the API is to provide applications and developers with the ability to access a set of routines without having to access the source code or understand the details of the internal working mechanism. The software that provides the functions defined by the API is called the implementation of this API. API is an interface, so it is an abstraction.
When data is encapsulated, each layer in the network layer interacts with each other and provides services. The interface between the application layer and the user is called an application programming interface (API, Application Programming Interface). An API is actually a set of functions, it can also be said to be a set of definitions and protocols. No matter what kind of set, its essence is to shield users from implementation details and complexity through abstraction.
From the perspective of the user, the application program interface appears as a series of API functions. Users can use these functions to develop network applications. From a network perspective, the application program interface provides users with a set of methods. Users can use this set of methods to send business requests, information, and data to the application layer, and each layer in the network responds in turn to complete network data transmission. [1]
along with
The operating system's API can be used to allocate memory or access files. Many systems with
There are many application program interfaces at the application layer, and they are developing rapidly. The common ones are socket, FTP, HTTP, and telnet. These interfaces can be divided into four categories from broad categories:
  • Remote Procedure Call Protocol (RPC)
  • Data query interface
  • File class interface
  • Data communication interface
For example, the FTP protocol is a file-based interface. Based on FTP, users can share and transfer files between networks. Socket and HTTP can be summarized as data communication interfaces. Based on these two interfaces, users can develop network communication applications and web page interaction programs. Of course, from the perspective of programming development, whether it is FTP, HTTP or telnet, it is an application layer protocol developed based on the socket interface, which is a further encapsulation and abstraction of the socket interface, so as to provide users with a higher level of services and interfaces .
Socket is sometimes called "Berkeley Socket", it is the earliest application program interface developed by Berkeley. There are two commonly used socket types: stream socket (SOCK_STREAM) and datagram socket (SOCK_DGRAM).
  • Streaming socket is a connection-oriented socket, which is aimed at connection-oriented TCP service applications.
  • A datagram socket is a connectionless socket, which corresponds to a connectionless UDP service application.
In terms of user interface, there is also a TLI interface at the transport layer, which was developed by AT & T and is sometimes called XTI. It is an application program interface provided by the transport layer for users and can be used for application development at the transport layer. [3]

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?