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]

Reply via email to