How to Communicate
Sender→Message→Receiver
It doesn’t seem all that complicated. A sender has information that he wants to transmit. A message is created encoding that information. The receiver decodes the message. Thus the information is transmitted. I have made a career out of this basic flow.
I know better than this. This simple one way message is a datagram. It is essentially useless: that is to say reserved for a special type of message. There is no way to know if the message was received. There is no way to know if the message was decoded properly. The sender transmits information into the void.
Sender→Request→Receiver→Response→Sender
This is much better. A sender can now ensure the information in the request was decoded by the receiver well enough to construct a valid response. All of the web is based on this flow of information.
What works for the web does not work for people.