SCSP Essentials

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 https://perifery.atlassian.net/wiki/spaces/public/pages/2443811229/Working+with+Large+Objects?search_id=f1561087-b409-44d5-a6fc-f0765f37d8a2.

See the https://perifery.atlassian.net/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

SCSP Method

HTTP Method

RFC 7231 Section

READ

GET

4.3.1

INFO

HEAD

4.3.2

WRITE

POST

4.3.3

UPDATE

PUT

4.3.4

DELETE

DELETE

4.3.5

n/a

CONNECT

4.3.6

n/a

OPTIONS

4.3.7

n/a

TRACE

4.3.8

APPEND





COPY





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:

  • 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.

© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.