** 개요
- 프로토콜에서 중요한 것은 무조건 성능.
- 프로토콜은 특정 목적을 위해서 설계되었으며, 그에 따라서 다른 속성으로 나뉜다.
** 프로토콜 속성
Data Format
ㄴ Text based ( plain text, JSON, XML )
ㄴ Binary ( protobuf, RESP, h2, h3 )
Transfer mode
ㄴ Message based ( UDP, HTTP )
ㄴ Stream ( TCP, WebRTC )
Addressing system
ㄴ DNS name, IP, MAC
Directionality
ㄴ Bidirectional ( TCP )
ㄴ Unidirectional ( HTTP )
ㄴ Full/Half duplex
State
ㄴ stateful ( TCP, gRPC, apache thrift )
ㄴ stateless ( UDP, HTTP )
Routing
ㄴ Proxies, Gateways
Flow & Congestion control
ㄴ TCP ( Flow, Congestion )
ㄴ UDP ( x )
Error management
ㄴ Error code
ㄴ Retries and timeouts