Is a protocol an application

apiapplicationsprotocolterminology

Basically, I was debating in my head how an API and a protocol are different. After thinking about it, I come my newbie conclusions that I believe they are pretty much the same, except that protocols are more like an API that is widely accepted and used. For example, both API's and protocols define criteria and specifications for two or more components to work together. An API defines that criteria for a specific program. A protocol say, such as SSH, is a program itself, with it's own specifications. Another to think about is that a protocol is simply a set of specifications. Any thoughts guys? Sorry if I sound ignorant.

Best Answer

No. A protocol is not an application.

A protocol is a set of rules for systems or components of systems to communicate with each other, exchange information, recover from errors, establishing a semantics.

A protocol can be implemented by hardware, software, people, or a combination of any of them.

Usually, the specified behavior is independent of any particular implementation.

On the other hand an application is a computer program, a piece of software.

A protocol say, such as SSH, is a program itself

In reality that app is called after a protocol. Two things with the same name are not necessarily the same thing. You could write an application that implements the SSH protocol and call it "Buba". The application is not the protocol and vice versa. Different versions of Unix and or Linux can have different implementations of the SSH utility, yet all of them call the program ssh.

Many applications implement the XMPP protocol and they are not named after the protocol.

Also it is possible for a protocol to exist only on a document or published (or unpublished) paper if nobody has implemented it yet. Yet is is still a protocol. Even when no software app, system or API implements it. When a protocol is widely accepted (and widely implemented) it can become a standard (or not).

Related Topic