A protocol is a system of rules that define how something is to be done. In computer terminology, a protocol is usually an agreed-upon or standardized method for transmitting data and/or establishing communications between different devices. Just as two humans need to have a common language between them before they can begin to share ideas and information, so must computers have a common way of sending information between them. The Internet is often used as an example of a successful protocols-based system in which the implementation of key qualities of protocols, such as error correction and message formatting, are utilized and respected across a wide variety of hardware and software.
To demonstrate a common usage of a popular protocol, we can examine the Internet's TCP/IP protocol. Computers can communicate different types of information over TCP/IP such as text, pictures, VOIP (Voice Over Internet Protocol), and more. To indicate that a user wants the page "protocol.html" from the What-Is-What website, the web browser Firefox connects to the What-Is-What server and sends this information: "GET /what_is/protocol.html HTTP/1.1". The server knows that the request is divided into three sections by spaces, and knows what values to expect in each section. The first section specifies the type of request, in this case a GET request. The next section is the location request, in this case the file "protocol.html" which is located in the "what_is" directory. The final section is the transport protocol that the browser would like to use, in this case version 1.1 of HTTP (HyperText Transfer Protocol). If Firefox were to request these properties in a different order, say, with the GET section at the end instead of at the beginning, the web server would not be able to understand the request. The order, and type, of the request is defined in the TCP/IP suite of protocols.
In the previous example, we saw how one protocol, TCP/IP, was used to specify the use of another protocol, HTTP. This is an example of high- and low-level protocols and how they interact. TCP and IP are low-level protocols, that are used in establishing the basic connection between two computers on a network. However, just simply connecting does nothing practical, and information must actually be transferred. Just like the low-level protocol defines the properties of the connection, a high-level protocol (such as HTTP) defines the properties of the data transfer. In addition to the familiar HTTP protocol, other common Internet protocols include FTP (File Transfer Protocol), DHCP (Dynamic Host Configuration Protocol), SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol version 3), and IMAP (Internet Message Access Protocol). You have probably noticed that all these acronyms end in the letter "P". In fact, whenever encountered with an unfamiliar computer-related acronym that ends in "P", there is a very good chance that it defines a protocol.
Programming Science Software Technology Terminology Questions