English in Computing - Communication Protocols

Communication Protocols

Many application protocols, especially those depending on widespread standardisation to be effective, use text strings for requests and parameters, rather than the binary values commonly used in lower layer protocols. The request strings are generally based on English words, although in some cases the strings are contractions or acronyms of English expressions, which renders them somewhat cryptic to anyone not familiar with the protocol, whatever their proficiency in English. Nevertheless, the use of word-like strings is a convenient mnemonic device that allows a person skilled in the art (and with sufficient knowledge of English) to execute the protocol manually from a keyboard, usually for the purpose of finding a problem with the service.

Examples:

  • FTP: USER, PASS (password), PASV (passive), PORT, RETR (retrieve), STOR (store), QUIT
  • SMTP: HELO (hello), MAIL, RCPT (recipient), DATA, QUIT
  • HTTP: GET, PUT, POST, HEAD (headers), DELETE, TRACE, OPTIONS

It is notable that response codes, that is, the strings sent back by the recipient of a request, are typically numeric: for instance, in HTTP (and some borrowed by other protocols)

  • 200 OK request succeeded
  • 301 Moved Permanently to redirect the request to a new address
  • 404 Not Found the requested page does not exist

This is because response codes also need to convey unambiguous information, but can have various nuances that the requester may optionally use to vary its subsequent actions. To convey all such "sub-codes" with alphabetic words would be unwieldy, and negate the advantage of using pseudo-English words. Since responses are usually generated by software they do not need to be mnemonic. Numeric codes are also more easily analysed and categorised when they are processed by software, instead of a human testing the protocol by manual input.

Read more about this topic:  English In Computing