...
...
...
...
...
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
This section provides general information about SCSP INFO that applies to both named and unnamed objects.
Table of Contents | ||
---|---|---|
|
INFO is a request to the storage cluster to provide information about a specific object. The INFO message is identical in semantics to the READ request, except that the object (if found) is not returned in the response. If the referenced content is found in the cluster, only the meta - information about that object is returned in the form of response headers. The INFO request is formatted as an HTTP request using the HEAD method.
SCSP Method | HTTP Method | RFC 7231 Section |
---|---|---|
INFO | HEAD |
...
Note
SCSP allows HEAD requests with mismatched Accept-Encoding
headers to receive responses as if the encoding matched that of the object. Swarm relaxed this RFC restriction because a HEAD request returns no body contents, so there is nothing to encode.
INFO for
...
Named Objects
Code Block | ||
---|---|---|
| ||
HEAD /mybucket/samplefile.txt HTTP/1.1 Host: cluster.example.com User-Agent: Swarm Client/0.1 |
INFO for
...
Unnamed Objects
Code Block | ||
---|---|---|
| ||
HEAD /06eec5e2c3f1aadcb41ef7fd52adc049 HTTP/1.1 User-Agent: Swarm Client/0.1 |
...
Warning |
---|
ErrorError loading excerpt from "WRITE for Unnamed Objects |
...
". |
INFO for
...
Alias Objects
To INFO an alias object, optionally add the alias=yes query argument to the URI portion of the HTTP request line, as shown below.
Code Block | ||
---|---|---|
| ||
HEAD /41A140B5271DC8D22FF8D027176A0821?alias=yes HTTP/1.1 User-Agent: Swarm Client/0.1 |
...
Warning |
---|
ErrorError loading excerpt from "WRITE for Unnamed Objects". |
...
Normal
...
Responses to INFO
SeeSCSP Headers for a list of response headers.
The responses described in this section may be returned by the storage cluster in the case where the requested content was found. The content's meta-information can be returned directly by the node that received the request or the request may be redirected to another node in the cluster.
...
Note
Different Content-Length values in the responses display if ?checkIntegrity
is added to HEAD and GET requests for the same object. This occurs because the HEAD response returns the Content-Length of the manifest rather than the object.
The following response indicates the requested object was located, but another node in the cluster services the request for meta-information. Additionally, all future requests of this storage cluster should be made through the new access node until another 301 response is received. There is no message-body, so the content length is always 0. The value of the Location header indicates which node in the cluster should receive the redirect.
301 Moved Permanently
The client is expected to send another INFO request using the exact URI contained in the Location header.
Code Block | ||
---|---|---|
| ||
HTTP/1.1 301 Moved Permanently Date: Wed, 1 Sept 2010 15:59:02 GMT Server: CAStor Cluster/v8b2 Connection: close Location: http://node-ip/name-or-uuid?auth=2096EFA659295BBB819D1FECCE77D2EF Content-Length: 0 |
307 Temporary Redirect
The following response (307) is similar to the 301 response, except the client should continue to use the current node (the one generating this response) for future requests until further notice.
Code Block | ||
---|---|---|
| ||
HTTP/1.1 307 Temporary Redirect Date: Wed, 1 Sept 2010 15:59:02 GMT Server: CAStor Cluster/5.0.0 Location: http://node-ip/name-or-uuid?auth=2096EFA659295BBB819D1FECCE77D2EF Content-Length: 0 |
Normal
...
Responses for
...
Named Objects
Code Block | ||
---|---|---|
| ||
INFO response for a named object in a domain: HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm="cluster.example.com/_administrators", nonce="05d0a60ee1f44361f449496505e05116", opaque="fd9c8e14e20fb7c13408c049b7d222af", ` stale=false, ` qop="auth", ` algorithm=MD5 WWW-Authenticate: Basic realm="cluster.example.com/_administrators" Content-Length: 51 Content-Type: text/html Date: Sat, 16 Oct 2010 00:23:24 GMT Server: CAStor Cluster 5.0.0 Allow: HEAD, GET, PUT, POST, COPY, APPEND, DELETE HTTP/1.1 200 OK Castor-System-Alias: ec87e3c7c410cc04fc4c838061898d9c Castor-System-CID: ffffffffffffffffffffffffffffffff Castor-System-Cluster: cluster.example.com Castor-System-Created: Fri, 15 Oct 2010 23:59:40 GMT Castor-System-Name: cluster.example.com Castor-System-Owner: admin@CAStor administrator Castor-System-Version: 1287187180.959 Content-Length: 0 Last-Modified: Fri, 15 Oct 2010 18:35:56 GMT lifepoint: [] reps=16 Etag: "da8bfbb04d089b9c22ae77747f327233" Date: Sat, 16 Oct 2010 00:23:24 GMT Server: CAStor Cluster/5.0.0 |
...
The response for a named object is very similar to the response for a bucket except that Castor-System-CID is the identifier of the named object's parent (the bucket).
Normal
...
Responses for
...
Unnamed Objects
The following response indicates that the node that received the request found the requested content and is returning meta-information about the object in the headers of this response.
Code Block | ||
---|---|---|
| ||
HTTP/1.1 200 OK Date: Wed, 1 Sept 2010 15:59:02 GMT Server: CAStor Cluster/5.0.0 Content-Type: image/jpeg Content-Length: (length of the content of the Swarm object) Replica-Count: (number of replicas in cluster) [ application-meta-information ] |
Error
...
Responses to INFO
The responses in this section may be returned by the storage cluster when the specified content cannot be found or there is a problem with the INFO request.
...
Code Block | ||
---|---|---|
| ||
HTTP/1.1 404 Not Found Date: Wed, 1 Sept 2010 15:59:02 GMT Server: CAStor Cluster 5.0.0 Content-Length: 56 Content-Type: text/html |
...