HeadObject
You can use the S3 HeadObject request to retrieve metadata from an object without returning the object itself. If the object is stored in a Cloud Storage Pool, you can use HeadObject to determine the object's transition state.
HeadObject and multipart objects
You can use the partNumber request parameter to retrieve metadata for a specific part of a multipart or segmented object.  The x-amz-mp-parts-count response element indicates how many parts the object has.
You can set partNumber to 1 for both segmented/multipart objects and  non-segmented/non-multipart objects; however, the x-amz-mp-parts-count response element is only returned for segmented or multipart objects.
UTF-8 characters in user metadata
StorageGRID does not parse or interpret escaped UTF-8 characters in user-defined metadata. HEAD requests for an object with escaped UTF-8 characters in user-defined metadata don't return the x-amz-missing-meta header if the key name or value includes unprintable characters.
Unsupported request header
The following request header is not supported and returns XNotImplemented:
- 
x-amz-website-redirect-location 
Versioning
If a versionId subresource is not specified, the operation fetches the most recent version of the object in a versioned bucket. If the current version of the object is a delete marker, a "Not Found" status is returned with the x-amz-delete-marker response header set to true.
Request headers for server-side encryption with customer-provided encryption keys (SSE-C)
Use all three of these headers if the object is encrypted with a unique key that you provided.
- 
x-amz-server-side-encryption-customer-algorithm: SpecifyAES256. - 
x-amz-server-side-encryption-customer-key: Specify your encryption key for the object. - 
x-amz-server-side-encryption-customer-key-MD5: Specify the MD5 digest of the object's encryption key. 
| 
 | 
The encryption keys you provide are never stored. If you lose an encryption key, you lose the corresponding object. Before using customer-provided keys to secure object data, review the considerations in Use server-side encryption. | 
HeadObject responses for Cloud Storage Pool objects
If the object is stored in a Cloud Storage Pool, the following response headers are returned:
- 
x-amz-storage-class: GLACIER - 
x-amz-restore 
The response headers provide information about the state of an object as it is moved to a Cloud Storage Pool, optionally transitioned to a non-retrievable state, and restored.
| State of object | Response to HeadObject | 
|---|---|
Object ingested into StorageGRID but not yet evaluated by ILM, or object stored in a traditional storage pool or using erasure coding  | 
  | 
Object in Cloud Storage Pool but not yet transitioned to a non-retrievable state  | 
 
 `x-amz-restore: ongoing-request="false", expiry-date="Sat, 23 July 20 2030 00:00:00 GMT" Until the object is transitioned to a non-retrievable state, the value for   | 
Object has transitioned to non-retrievable state, but at least one copy also exists on the grid  | 
 
 `x-amz-restore: ongoing-request="false", expiry-date="Sat, 23 July 20 2030 00:00:00 GMT" The value for  Note: If the copy on the grid is not available (for example, a Storage Node is down), you must issue a RestoreObject request to restore the copy from the Cloud Storage Pool before you can successfully retrieve the object.  | 
Object transitioned to a non-retrievable state, and no copy exists on the grid  | 
 
  | 
Object in process of being restored from a non-retrievable state  | 
 
 `x-amz-restore: ongoing-request="true"  | 
Object fully restored to the Cloud Storage Pool  | 
 
 `x-amz-restore: ongoing-request="false", expiry-date="Sat, 23 July 20 2018 00:00:00 GMT" The   | 
Multipart or segmented objects in Cloud Storage Pool
If you uploaded a multipart object or if StorageGRID split a large object into segments, StorageGRID determines whether the object is available in the Cloud Storage Pool by sampling a subset of the object's parts or segments. In some cases, a HeadObject request might incorrectly return `x-amz-restore: ongoing-request="false" when some parts of the object have already been transitioned to a non-retrievable state or when some parts of the object have not yet been restored.
HeadObject and cross-grid replication
If you are using grid federation and cross-grid replication is enabled for a bucket, the S3 client can verify an object's replication status by issuing a HeadObject request. The response includes the StorageGRID-specific x-ntap-sg-cgr-replication-status response header, which will have one of the following values:
| Grid | Replication status | 
|---|---|
Source  | 
  | 
Destination  | 
REPLICA: The object was replicated from the source grid.  | 
| 
 | 
StorageGRID does not support the x-amz-replication-status header.
 |