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 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:
This answer = A web page
English language = the HTTP protocol
Rules of English = the HTTP standard
Communication protocols are, by definition, sets of rules that govern the formats and interactions between communicating parties. These rules may be implicit and informal, as in typical everyday social interactions between people. But electronics, and digital computers especially, require things to be far more explicit and formalized in order for reliable communication to occur.
A Standard in this context is an attempt to resolve an area of potential misunderstanding or disagreement. Communication protocols are one of many areas that standards may apply to. A notable set of standards that are not communication protocols, for example, are the SI weight and measurement standards. These provide a fixed reference to which you can compare any given quantity in order to measure it in a way that will be unambiguous to everyone with access to the standard, or a reasonable approximation of it.
A Communication Protocol Standard is therefore a formalization of the rules of a communication protocol such that those with access to the standard can (ideally) unambiguously determine whether any particular attempt at communication complies with those rules. Just as comparing a particular mass of metal against the SI standard kilogram will determine how close the mass is to a kilogram, comparing a particular protocol implementation against a protocol standard will determine whether it is truly following that protocol according to the standard. When all parties are properly following the protocol as formalized in the standard, it is (again, ideally) guaranteed to result in the level of communication that the protocol was designed to accommodate.
A Communication Protocol Specification is a means by which the rules and formats of a communication protocol can be described at a formal level, and it is often part of (indeed, the largest part of) a communication protocol standard. While the purpose of a standard is to create a means to determine whether something is truly an instance of the standardized thing, the purpose of a specification is to define exactly what the thing is in the case where the thing is defined by rules and formats, as a communication protocol is. An unambiguous definition of what something is can be used both to create a new instance of that thing and to determine whether an existing thing is an instance of the thing being defined.
So a specification can be used as a standard, but being a standard also carries the weight of some social agreement that there is value in complying with the specification well enough for multiple implementations to have some assurance of working together. The parties interested in this agreement work together to form a Standards Body in order to define the standards that they will agree on for the purpose of their desire to be able to rely on compliance to a protocol. Without the presence of this social agreement and the standards body by which the standards are produced, protocol specifications aren't generally considered to constitute standards, though well-defined specifications definitely have the potential to be used as standards.
In my understanding, a protocol describes the communication between two points. One point creates some data that the other point must interpret. 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 chooses 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 unofficially, because all communication partners just happen to use the same protocol which then became the standard protocol.
Yes a protocol is a set of rules.
That does not mean any set of rules is a protocol.
A law is set of rules that I would not call protocol.
HTML is set of rules for format that I would not call a protocol.
A standard is something that is widely adopted.
A standard is not limited to protocol or rules.
A 16" rim for car is something I would call a standard.
A communications protocol is a set of rules specifically for communication. It can be standard or proprietary. If there is a standards body then it is definitely a standard.
You also have Open. Open is published and may or may not be a standard. I may have an Open proprietary protocol meaning here it is and here is out I works so that it can be used but I am not proposing it to be an industry standard.
It can even be a standard and proprietary. In the early days PDF format was proprietary but it was still presented as standard.
In summary protocol and standard are just plain not the same thing.
Definition of Protocol:
an original draft, minute, or record from which a document, especially a treaty, is prepared.
Definition of standard:
something considered by an authority or by general consent as a basis of comparison; an approved model.
Back to your question
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")?
HTTP is both a protocol and a standard. It is, in fact, a standard protocol.
Quoted from wiki
The standards development of HTTP has been coordinated by the Internet Engineering Task Force (IETF) and the World Wide Web Consortium (W3C), culminating in the publication of a series of Requests for Comments (RFCs), most notably RFC 2616 (June 1999), which defines HTTP/1.1, the version of HTTP in common use.
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 described his function.
I think to answer this question, we can include other terms too, to make the concepts more clear:
- Protocol: A set of rules for communication between computers (thus, you hear protocol usually in the field of network)
- Standard: A level of quality; Thus, you can write code, which works, but is not a quality code or non-standard.
- Convention: Just a kind of agreement, like telling somebody to put the images inside
imgfolder. Not following conventions doesn't break the functionality, but is considered bad among the people who have agreed on that convention.
- Specification: A detailed description, especially one providing information needed to make, build, or produce something.