Feature Overview
This API is used to determine whether an object exists and whether you have permission to access it. You can use this API to get the object metadata if you can access it. To call this API, you need to have permission to read the object, or the object is set to public-read (i.e., everyone can read it).
Authorization Description
Versioning
With versioning enabled, you can specify the
versionId request parameter to get the metadata of an object of a specified version. If the version ID you specify corresponds to a delete marker, HTTP status code “404 (Not Found)” will be returned. If no version ID is specified, the metadata of the latest version will be returned.Requests
Sample Request
HEAD /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth String
Note
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com, where <BucketName-APPID> is the bucket name with the APPID suffix, such as examplebucket-1250000000. You can refer to the Bucket Overview > Basic Information and Bucket Overview > Bucket Naming Convention documentation. <Region> represents the available regions for COS, which can be found in the Regions and Access Domain Names documentation.
Authorization: Auth String (For more information, see Request Signature.)
Request Parameters
Name | Description | Local Disk Types | Required |
versionId | Specifies the version ID of the object if versioning is enabled; if this parameter is not specified, the latest version will be queried. | string | Not required |
Request Header
In addition to common request headers, this API also supports the following request headers. For more information on the common request header, see Common Request Headers.
Name | Description | Local Disk Types | Required |
If-Modified-Since | If the object is modified after the specified time, HTTP status code 200 (OK) will be returned. Otherwise, “304 (Not Modified)” will be returned. | string | Not required |
If-Unmodified-Since | If the object is not modified after the specified time, HTTP status code 200 (OK) will be returned. Otherwise, “412 (Precondition Failed)” will be returned. | string | Not required |
If-Match | If the ETag of the object is the same as the specified value, HTTP status code 200 (OK) will be returned. Otherwise, “412 (Precondition Failed)” will be returned. | string | Not required |
If-None-Match | If the ETag of the object is different from the specified value, HTTP status code 200 (OK) will be returned. Otherwise, “304 (Not Modified)” will be returned. | string | Not required |
Server-side Encryption-related Headers
If server-side encryption is used for the specified object and the encryption method is SSE-C, you will need to specify the headers related to server-side encryption to decrypt the object. For more information, see Server-side Encryption Headers.
Request Body
This API does not have a request body.
Response
Response Header
In addition to common response headers, this API also returns the following response headers. For more information on common response headers, see Common Response Headers.
Name | Description | Local Disk Types |
Cache-Control | Cache directives as defined in RFC 2616, which will be returned only if it is contained in the object metadata. | string |
Content-Disposition | Filename as defined in RFC 2616, which will be returned only if it is contained in the object metadata. | string |
Content-Encoding | Encoding format as defined in RFC 2616, which will be returned only if it is contained in the object metadata. | string |
Expires | Cache expiration time as defined in RFC 2616, which will be returned only if it is contained in the object metadata. | string |
x-cos-meta-* | Includes user-defined metadata header suffixes and user-defined metadata information. | string |
x-cos-storage-class | Object storage type, for enumeration values, please refer to the Storage Types documentation, such as MAZ_STANDARD, MAZ_STANDARD_IA, INTELLIGENT_TIERING, MAZ_INTELLIGENT_TIERING, STANDARD_IA, ARCHIVE, DEEP_ARCHIVE. This header will be returned only if the object is not STANDARD storage. | enum |
x-cos-storage-tier | Specifies the access tier of INTELLIGENT TIERING objects. Valid values: FREQUENT INFREQUENT ARCHIVE_ACCESS DEEP_ARCHIVE_ACCESS | enum |
Archived object−related headers
If the storage class of the object is
ARCHIVE and POST Object restore has been called to restore it, the following response headers will be returned:Name | Description | Local Disk Types |
x-cos-restore | Indicates the current restoration operation status: When the restoration operation is in progress, the value of this response header is ongoing-request="true"When the object has been restored, this response header contains the time when COS will delete the temporary copy, for example: ongoing-request="false", expiry-date="Tue, 19 Nov 2019 16:00:00 GMT" | string |
x-cos-restore-status | This response header will be returned if the restoration is ongoing, indicating the current restoration mode, the request time of the restoration and the expected completion time of restoration. tier="standard"; request-date="Mon, 18 Nov 2019 09:34:50 GMT";expect-restore-date="Fri, 27 Dec 2019 08:20:00 GMT". For more information on restoration modes, please see POST Object restoreNote: Only archive-type objects support displaying the expected completion time of restoration. Deep archive objects do not support displaying the expected completion time of restoration. | string |
Versioning-Related Headers
If the target object is from a versioning-enabled bucket, the following response header will be returned:
Name | Description | Local Disk Types |
x-cos-version-id | Version ID of the object | string |
Server-side Encryption-related Headers
If server-side encryption is used for the specified object, this API will return the server-side encryption headers. For more information, see Server-side Encryption Headers.
Bucket replication-related headers
If the object is the source or target object of bucket replication, the following response headers will be returned.
Name | Description | Type |
x-cos-replication-status | Current replication status. The source object shows Pending, Failed, or Complete. The target object shows Replica. | string |
Response Body
The response body of this API is empty.
Error Codes
Examples
Example 1: simple use case (with versioning disabled)
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 10 Apr 2020 18:17:36 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1586542656;1586549856&q-key-time=1586542656;1586549856&q-header-list=date;host&q-url-param-list=&q-signature=cde88925e00d1c90ba74985ca43b610bdf6b**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 16Connection: closeDate: Fri, 10 Apr 2020 18:17:36 GMTETag: "ee8de918d05640145b18f70f4c3aa602"Last-Modified: Fri, 10 Apr 2020 18:17:25 GMTServer: tencent-cosx-cos-hash-crc64ecma: 16749565679157681890x-cos-request-id: NWU5MGI4NDBfNjFjODJhMDlfMzY2NjVfMjNi****
Example 2: specifying search criteria through the request headers with HTTP status code 304 (Not Modified) returned
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Wed, 29 Jul 2020 06:51:49 GMTIf-None-Match: "ee8de918d05640145b18f70f4c3aa602"Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1596005509;1596012709&q-key-time=1596005509;1596012709&q-header-list=date;host;if-none-match&q-url-param-list=&q-signature=9d087f05c259ca271efe91fc780cdced75c6**Connection: close
Response
HTTP/1.1 304 Not ModifiedContent-Type: application/xmlContent-Length: 0Connection: closeDate: Wed, 29 Jul 2020 06:51:49 GMTServer: tencent-cosx-cos-request-id: NWYyMTFjODVfZDNjODJhMDlfMWU1MWVfOTUy****x-cos-trace-id: OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODczNTBmNjMwZmQ0MTZkMjg0NjlkNTYyNmY4ZTRkZTk0NzJmZTI0ZmJhYTZmZjYyNmU5ZGNlZDI5YjkyODkwYjNhZjhlNGQ0MDY1ZGIxNDEwMWYwOTg1NDc4Mzg4MTE3****
Example 3: specifying search criteria through the request header with HTTP status code 412 (Precondition Failed) returned
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Wed, 29 Jul 2020 06:51:50 GMTIf-Match: "aa488bb80185a6be87f4a7b936a80752"Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1596005510;1596012710&q-key-time=1596005510;1596012710&q-header-list=date;host;if-match&q-url-param-list=&q-signature=38afe94fc61ca0b3aa763e00b23fd90ac23e**Connection: close
Response
HTTP/1.1 412 Precondition FailedContent-Type: application/xmlContent-Length: 0Connection: closeDate: Wed, 29 Jul 2020 06:51:50 GMTServer: tencent-cosx-cos-request-id: NWYyMTFjODZfMzBjMDJhMDlfMmU3ZF9kYTE4****x-cos-trace-id: OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODczNTBmNjMwZmQ0MTZkMjg0NjlkNTYyNmY4ZTRkZTk0NzJmZTI0ZmJhYTZmZjYyNmU5ZGNlZDI5YjkyODkwYjNhZDRkOWFlZjczOWExNjZmY2RiNjhjNGIwZWQ3YjYw****
Example 4: using server-side encryption SSE-COS
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 10 Apr 2020 18:18:19 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1586542699;1586549899&q-key-time=1586542699;1586549899&q-header-list=date;host&q-url-param-list=&q-signature=6a6d4dd5b5a9e6379f300715985bfb60b947**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 16Connection: closeDate: Fri, 10 Apr 2020 18:18:19 GMTETag: "ee8de918d05640145b18f70f4c3aa602"Last-Modified: Fri, 10 Apr 2020 18:18:08 GMTServer: tencent-cosx-cos-hash-crc64ecma: 16749565679157681890x-cos-request-id: NWU5MGI4NmJfNmRjMDJhMDlfZGQwNl8xZmE4****x-cos-server-side-encryption: AES256
Example 5: using server-side encryption SSE-KMS
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 10 Apr 2020 18:18:30 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1586542710;1586549910&q-key-time=1586542710;1586549910&q-header-list=date;host&q-url-param-list=&q-signature=7c8a1c93b9701e653c2ab00419f976397d00**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 16Connection: closeDate: Fri, 10 Apr 2020 18:18:30 GMTETag: "00ca268468481b847fc2d8a9bd84578d"Last-Modified: Fri, 10 Apr 2020 18:18:19 GMTServer: tencent-cosx-cos-hash-crc64ecma: 16749565679157681890x-cos-request-id: NWU5MGI4NzZfN2FjODJhMDlfMjU3N18xYTEz****x-cos-server-side-encryption: cos/kmsx-cos-server-side-encryption-cos-kms-key-id: 48ba38aa-26c5-11ea-855c-52540085****
Example 6: using server-side encryption SSE-C
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 10 Apr 2020 18:18:41 GMTx-cos-server-side-encryption-customer-algorithm: AES256x-cos-server-side-encryption-customer-key: MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNE****x-cos-server-side-encryption-customer-key-MD5: U5L61r7jcwdNvT7frmUG****Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1586542721;1586549921&q-key-time=1586542721;1586549921&q-header-list=date;host;x-cos-server-side-encryption-customer-algorithm;x-cos-server-side-encryption-customer-key;x-cos-server-side-encryption-customer-key-md5&q-url-param-list=&q-signature=99ad258fc295f43feb0546bb2346c8269dc5**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 16Connection: closeDate: Fri, 10 Apr 2020 18:18:41 GMTETag: "582d9105f71525f3c161984bc005efb5"Last-Modified: Fri, 10 Apr 2020 18:18:31 GMTServer: tencent-cosx-cos-hash-crc64ecma: 16749565679157681890x-cos-request-id: NWU5MGI4ODFfN2NiODJhMDlfMmFmYTVfMWRh****x-cos-server-side-encryption-customer-algorithm: AES256x-cos-server-side-encryption-customer-key-MD5: U5L61r7jcwdNvT7frmUG****
Example 7: requesting the latest version of an object (with versioning enabled)
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 10 Apr 2020 18:19:15 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1586542755;1586549955&q-key-time=1586542755;1586549955&q-header-list=date;host&q-url-param-list=&q-signature=7909dc19780873dfaa51c8b238254098ca1a**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 26Connection: closeDate: Fri, 10 Apr 2020 18:19:15 GMTETag: "22e024392de860289f0baa7d6cf8a549"Last-Modified: Fri, 10 Apr 2020 18:19:04 GMTServer: tencent-cosx-cos-hash-crc64ecma: 11596229263574363878x-cos-request-id: NWU5MGI4YTNfZDZjODJhMDlfYmU0MV8xM2Y5****x-cos-version-id: MTg0NDUxNTc1MzA5NjQ2ODI5MTg
Example 8: requesting a specific version of an object (with versioning enabled)
Requests
HEAD /exampleobject?versionId=MTg0NDUxNTc1MzA5NzU4ODg1Mjg HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 10 Apr 2020 18:19:04 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1586542744;1586549944&q-key-time=1586542744;1586549944&q-header-list=date;host&q-url-param-list=versionid&q-signature=1307acd3e8649087c738ecca452a54fa5a79**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 16Connection: closeDate: Fri, 10 Apr 2020 18:19:04 GMTETag: "ee8de918d05640145b18f70f4c3aa602"Last-Modified: Fri, 10 Apr 2020 18:18:53 GMTServer: tencent-cosx-cos-hash-crc64ecma: 16749565679157681890x-cos-request-id: NWU5MGI4OThfN2RiNDBiMDlfMTk1MTBfMWZj****x-cos-version-id: MTg0NDUxNTc1MzA5NzU4ODg1Mjg
Example 9: requesting an archived object that is being restored
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Fri, 27 Dec 2019 08:19:35 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1577434775;1577441975&q-key-time=1577434775;1577441975&q-header-list=date;host&q-url-param-list=&q-signature=72408a09a5fc00d77d389559a0cfa5c98e31**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 13Connection: closeDate: Fri, 27 Dec 2019 08:19:35 GMTETag: "b62e10bcab55a88240bd9c436cffdcf9"Last-Modified: Fri, 27 Dec 2019 08:19:23 GMTServer: tencent-cosx-cos-request-id: NWUwNWJlOTdfN2VjODJhMDlfOGI1N18yYjYz****x-cos-restore: ongoing-request="true"x-cos-restore-status: tier="expedited"; request-date="Fri, 27 Dec 2019 08:19:29 GMT"x-cos-storage-class: ARCHIVE
Example 10: requesting an archived object which has been restored
Requests
HEAD /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.comDate: Thu, 02 Jan 2020 18:09:51 GMTAuthorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO**&q-sign-time=1577988591;1577995791&q-key-time=1577988591;1577995791&q-header-list=date;host&q-url-param-list=&q-signature=ff23b3a44945f019916450add646e963c29b**Connection: close
Response
HTTP/1.1 200 OKContent-Type: image/jpegContent-Length: 16Connection: closeDate: Fri, 10 Apr 2020 18:17:36 GMTETag: "ee8de918d05640145b18f70f4c3aa602"Last-Modified: Fri, 10 Apr 2020 18:17:25 GMTServer: tencent-cosx-cos-hash-crc64ecma: 16749565679157681890x-cos-request-id: NWU5MWRiZjFfMmViMDJhMDlfNjIwOF8zNTU0****x-cos-restore: ongoing-request="false", expiry-date="Mon, 13 Apr 2020 16:00:00 GMT"x-cos-storage-class: ARCHIVE