I find the term "protocol" confusing (in the terms of computer science that is). If the protocol is just a set of rules, wouldn't it be easier if we used the term "standard" instead (like in "HTTP standard")?
|
|
A protocol define a set of rules used by two or more parties to interact between themselves. A standard is a formalized protocol accepted by most of the parties that implement it. |
|||
|
|
|
A computer protocol is a set of rules that determine the format and transfer of data. The term protocol is used because it closely mirrors the rules of behaviour between individuals or nations. The set of formal rules that are common in computer protocols are very similar to the rules of diplomacy (diplomatic protocol) or etiquette (personal protocol). A standard is something different and not a rich a word to describe the interactions that are expressed within a protocol. Also as noted by others a protocol may not need to be standard. Finally, C3PO was a Protocol droid. He could therefore mediate between both Astro Mech Droids, Moisture Vaporaters and Ewoks. Calling him a Standard droid would not have so richly desribed his function. |
|||
|
|
|
In my understanding, a protocol describes the communication between two points. One point creates some data that the other point must interprete. A protocol describes the data format, the states, requests and answers, and so on. E.g. a HTTP request from the client and the answer from the server. For a specific problem, there are a gazillion possible protocols. Out of these, a standard choses one specific protocol and makes it kind of mandatory. If all communication end points act accordingly to the standard, they can communicate with each other and understand each other. This can happen officially or inofficially, because all communication partners just happen to use the same protocol which then became the standard protocol. |
|||
|
|
|
Definition of Protocol:
Definition of standard:
Back to your question
HTTP is both a protocol and a standard. It is, in fact, a standard protocol. Quoted from wiki
|
|||
|
|
I think to answer this question, we can include other terms too, to make the concepts more clear:
|
|||||
|
|
A protocol is not a set of rules. A protocol is the thing those rules describe the rules of. This is why programs implement a protocol and comply with a standard. Protocols are like languages. Standards are like dictionaries. For example, by analogy:
|
|||||||||||||||||
|
|
Not all protocols are standards (some are proprietary). Not all standards are protocols (some govern other layers than communcation). |
|||||||||||
|
