Communication in Computer science - rahul7838/quora.clone GitHub Wiki
Let's clarify the distinctions between protocols, architectural styles, and data formats:
Communication Protocols vs. Architectural Styles vs. Data Formats
-
Communication Protocols:
- Definition: Rules and standards that define how data is transmitted over a network.
- Examples: HTTP, HTTPS, TCP, UDP, WebSocket, gRPC, MQTT, AMQP.
- Role: They handle the transport of data between systems.
-
Architectural Styles/Patterns:
- Definition: High-level design patterns that define how software systems are organized and interact.
- Examples: REST, SOAP, RPC, GraphQL.
- Role: They define how systems are structured and how components interact.
-
Data Formats:
- Definition: Formats used to encode data for transmission or storage.
- Examples: JSON, XML, Protocol Buffers.
- Role: They define the structure and encoding of the data being exchanged.