This overview of the Simple Content Storage Protocol (SCSP) methods explains how they map to the corresponding HTTP methods.
SCSP as a subset of HTTP
The mechanism that applications use to communicate with Swarm is a text-based protocol based on HTTP. Known as the Simple Content Storage Protocol (SCSP), the methods and syntax are a proper subset of the HTTP/1.1 standard.
Although many of the optional parts of HTTP/1.1 are not implemented in SCSP (which is why the protocol is referred to as simple), all required protocol components are implemented, as well as several of the common methods.
Swarm assumes communication with an HTTP/1.1 compliant client application.
See Working with Large Objects.
See the /wiki/spaces/DOCS/pages/2443822872 for the API-level implementation of SCSP. The SDK helps developers write integrations to Swarm. The SDK includes sample code in Java, Python, C++, and C#.
Mapping SCSP to HTTP methods
The following table maps SCSP methods to complementary HTTP methods.
SCSP Method | HTTP Method | RFC 7231 Section |
---|---|---|
GET | ||
HEAD | ||
POST | ||
PUT | ||
DELETE | ||
n/a |
| |
n/a |
| |
n/a |
| |
SCSP protocol
Most HTTP communication is initiated by a client application and consists of a request to be applied to an object on a Swarm server. This is performed using a single connection between the client application and the Swarm server. Being HTTP-based, SCSP protocol consists of HTTP requests and responses:
Requests are generated by a Swarm client (that is, any HTTP/1.1 client), with these components:
Request method, with URI and protocol version
Case-insensitive query arguments
Required and optional headers
Responses are generated by one or more nodes in a storage cluster, with these components:
Status line, with the message's protocol version and a success or error code
MIME-like message, with server information, entity metadata, and possible entity-body content
See the HTTP/1.1 specification for the semantics and nuances of HTTP.