Retrieving an object or multiple versions of an object

You use the HTTP GET method to retrieve an object, a version of an object, or a range of versions of an object from a namespace. When retrieving an single object or version, you can request all the object data or part of the data. When retrieving multiple versions of an object, you can only request all the object data.

You can also use a single GET request to retrieve all the object data of a single object or version and an annotation together. You cannot retrieve part of the object data together with an annotation in a single request.

Using GET with a symbolic link returns the current version of the object that’s the target of the link.

Note: Attempts to retrieve the current version of a deleted object result in an HTTP 404 (Not Found) error code. However, if versioning is enabled, you can retrieve the version you deleted by specifying its version ID.

Requesting partial data

To request only part of a single object or version data, you specify the range of bytes you want in the HTTP GET request URL. By specifying a byte range, you can limit the amount of data returned, even when you don’t know the size of the object.

Targeting a request to a specific node

The node that receives a GET request for an object is not necessarily a node on which the object data is stored. In many cases, particularly with large objects, you can get better performance on a GET request if you target the request to a node on which the object data is stored. You do this by specifying the IP address of the node in the object URL.

To learn the IP address of a node that has a copy of the data for an object, you use a HEAD request. In response to a HEAD request for an object, HCP can return the X-HCP-CurrentStorageNode header. The value of this header is the IP address of a node on which the object data is stored.

The response to a HEAD request for a given object includes the X-HCP-CurrentStorageNode header only if both of these are true:

HCP is configured to return the header.

HCP has determined that a GET request for the object is likely to have better performance if the request is targeted to the IP address specified by the header.

The nodes on which the data for an object is stored may change over time. For this reason, if you’re retrieving an object a significant length of time after you’ve gotten an IP address for its data, you should issue a new HEAD request to ensure that the object data has not moved.

Trademarks and Legal Disclaimer

© 2016 Hitachi Data Systems Corporation. All rights reserved.