什么是Amazon S3中的HeadBucket操作

und*_*ned 6 amazon-s3 amazon-web-services

我一直在查看来自Amazons S3服务的使用情况报告,并注意到GetObject操作有一个DataTransfer-out-bytes充电(好吧我理解这一点)以及HeadBucket操作的DataTransfer-out-bytes费用.

什么是HeadBucket,这个请求何时发出?

干杯

Mar*_*ouf 6

这是对桶的HEAD请求:

HEAD /my-s3-bucket
Run Code Online (Sandbox Code Playgroud)

这基本上只是告诉你存在一个存储桶(200 OK),或者不存在(404 Not Found).

例如:

# curl -v -X HEAD http://s3.amazonaws.com/fooXXXX

* About to connect() to s3.amazonaws.com port 80 (#0)
*   Trying 72.21.211.144... connected
* Connected to s3.amazonaws.com (72.21.211.144) port 80 (#0)
> HEAD /fooXXXX HTTP/1.1
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
> Host: s3.amazonaws.com
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< x-amz-request-id: A21BF750F080A267
< x-amz-id-2: SPQ7yX6Ln0Zgp0YULT/64ag9077nNnN25jH8PMLGMm/SbXPZ+FF3qFuiOyBfiktP
< Content-Type: application/xml
< Transfer-Encoding: chunked
< Date: Thu, 23 Apr 2009 13:39:50 GMT
< Server: AmazonS3
Run Code Online (Sandbox Code Playgroud)

比.

# curl -v -X HEAD http://s3.amazonaws.com/s3hub

* About to connect() to s3.amazonaws.com port 80 (#0)
*   Trying 72.21.207.135... connected
* Connected to s3.amazonaws.com (72.21.207.135) port 80 (#0)
> HEAD /s3hub HTTP/1.1
> User-Agent: curl/7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
> Host: s3.amazonaws.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< x-amz-id-2: E6OvrEMD35HpJjlBg0kB90H/uaQDX8qk0oXb+baOtDKIoMXmNwgIRSX2rDE5Urlb
< x-amz-request-id: DAAAA11524A4A557
< Date: Thu, 23 Apr 2009 13:43:01 GMT
< Content-Type: application/xml
< Transfer-Encoding: chunked
< Server: AmazonS3
< 
Run Code Online (Sandbox Code Playgroud)