gRPC
// Definition
Google's open-source Remote Procedure Call framework. gRPC uses HTTP/2 for transport and Protocol Buffers for serialisation, making it significantly faster and more bandwidth-efficient than JSON over REST. Clients call server methods directly using generated stubs — there are no URLs or HTTP verbs to reason about. gRPC supports four streaming modes: unary (one request, one response), server-side streaming, client-side streaming, and bidirectional streaming, each introducing distinct test scenarios.
// Related terms
Protocol Buffers (protobuf)
Google's binary serialisation format. You define message schemas in `.proto` files; the `protoc` compiler generates strongly-typed serialisation/deserialisation code for any supported language. Protobuf messages are smaller and faster to parse than equivalent JSON but are not human-readable without the `.proto` schema file. In QA, `.proto` files serve as the contract — tests can validate that serialised messages match the schema exactly, including field types and required fields.
REST
Representational State Transfer — an architectural style for HTTP APIs where resources are addressed by URLs and manipulated via standard HTTP verbs (GET, POST, PUT, DELETE). The dominant API style for over a decade.
Endpoint
A specific URL exposed by an API that accepts requests and returns responses. Defined by its path, HTTP method, and contract.