REST — HTTP-based, simple. SOAP — XML-based, formal. gRPC — binary, fast.
REST:
REST:
GET /api/users/1
POST /api/users {name: "John"}
(JSON, HTTP verbs)
SOAP:
SOAP:
<soap:Envelope>
<soap:Body>
<GetUser>1</GetUser>
</soap:Body>
</soap:Envelope>
(XML, formal protocol)
gRPC:
gRPC:
service UserService {
rpc GetUser(GetUserRequest) returns (User);
}
(Binary, fast)
Key differences: