jrandall commented on issue #3642: URL: https://github.com/apache/incubator-opendal/issues/3642#issuecomment-1823299063
I agree the AWS API documentation is unclear on this point. The [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) do say that "A HEAD request has the same options as a GET action on an object." which is consistent with the defined semantics of the HTTP method, but then they go on to enumerate [parameters](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html#API_HeadObject_RequestParameters) that do not match the [parameters listed for GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html#API_GetObject_RequestParameters). However, I have already verified that passing the 'response-*' parameters defined for `GetObject` to `HeadObject` does in fact work with AWS S3. This is true both for presigned URLs as well as for normal requests. My guess would be that when they added the 'response-*' parameters to the documentation for `GetObject`, they forgot to add them to the documentation for `HeadObject` as well, but that the actual implementation is shared between the two methods (as would be suggested by the blanket statement that they accept the same options). I suppose it would probably be a good idea to raise this with AWS so that they can fix the docs. Note also that the open source (minio)[https://min.io/] server, which aims to be S3 compatible, also implements all of the `response-*` parameters for (both HEAD and GET)[https://github.com/minio/minio/blob/0b074d0fae3123205eb74529f14383158eba9e88/cmd/object-handlers.go#L65-L73]. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
