2005
JSON-RPC 1.0 published
JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC.org published the JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC 1.0 specification in 2005 — a lightweight remote procedure call protocol using JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web. over HTTPHyperText Transfer Protocol — the protocol browsers use to request and receive web pages..
What it was for
JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC wraps method calls in JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web. objects — `{"method":"subtract","params":42,23,"id":1}` — and returns structured results or errors. Simpler than SOAP, it powered BitcoinThe first decentralized cryptocurrency — a proof-of-work blockchain without a central issuer. nodes, Ethereum clients, and countless internal APIs before gRPC and GraphQL. Example: a wallet app calls `getBalance` on a node with one POST and a typed JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web. response.
Why it's here
JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC gave web-era developers a minimal RPC format without XMLExtensible Markup Language — a markup format for structured documents and data exchange. envelopes.
Why it mattered
It influenced later specs (2.0, JSONJavaScript Object Notation — a lightweight text format for structured data exchange on the web.-RPC over WebSocket) and blockchainA distributed ledger where records are chained cryptographically — designed for tamper-resistant shared state. node APIs.
What it solved
XMLExtensible Markup Language — a markup format for structured documents and data exchange.-RPC and SOAP were heavy; AJAX-era apps needed thin RPC over HTTPHyperText Transfer Protocol — the protocol browsers use to request and receive web pages. with JavaScript-friendly payloads.
Media
- ImageDouglas Crockford
Douglas Crockford, Public domain, via Wikimedia Commons
Related
- REST architectural style defined2000
- gRPC open-sourcedFebruary 26, 2015
- Swagger 1.0 releasedAugust 10, 2011