PutBucketWebsite
PutBucketWebsite操作可以将一个Bucket设置成静态网站托管模式。
请求语法
PUT /?website HTTP/1.1
Date: GMT Date
Content-Type: application/json
Content-Length:ContentLength
Host: bucketname.cos.chinac.com
Authorization: SignatureValue
{
"IndexDocument":{"Suffix":"index.html"},
"ErrorDocument":{"Key":"errorDocument.html"}
}
请求元素
Name | Type | Description |
---|---|---|
ErrorDocument | Object | 子元素Key的父元素 |
IndexDocument | Object | 子元素Suffix的父元素 |
Key | String | 返回404错误时使用的文件名 |
Suffix | String | 返回主页URL时添加的索引文件名 |
细节分析
- 所谓静态网站是指所有的网页都由静态内容构成,包括客户端执行的脚本,例如JavaScript;COS不支持涉及到需要服务器端处理的内容,例如PHP,JSP,APS.NET等
- 索引文档是指当用户直接访问静态网站根域名时,COS返回的默认索引文档(相当于网站的index.html)。如果你为一个Bucket配置了静态网站托管模式,就必须指定一个索引文档
- 错误页面支持(Error Document Support) 错误文档是指在用户访问该静态网站时,如果遇到404 NOT FOUNT错误,COS返回给用户的错误页面。通过指定错误页面,你可以为你的用户提供恰当的出错提示。
- 用户将一个Bucket设置成静态网站托管模式时,指定的索引页面和错误页面是该Bucket内的对象
- 如果用户上传了Content-MD5请求头,COS会计算body的Content-MD5并检查一致性,如果不一致,将返回InvalidDigest错误码
- 用户在将一个Bucket设置成静态网站托管模式后,用户想要查看到设置的静态网站托管效果需要访问website域名,如bucketname.cos-website.chinac.com,如访问默认域名cos.chinac.com返回不变,和接口描述一致
举例说明
场景一:用户设置了索引页面支持为index.html, 错误页面支持为error.html,且index和error页面为桶内对象。Bucket为cos-example,Endpoint为cos-cn-suzhou.chinac.com
用户访问http://cos-example.cos-cn-suzhou.chinac.com,返回GetBucket结果
用户访问http://cos-example.cos-cn-suzhou-website.chinac.com,返回index.html
用户访问http://cos-example.cos-cn-suzhou.chinac.com/object,如果object不存在,返回404 NoSuchKey
用户访问http://cos-example.cos-cn-suzhou-website.chinac.com/object,如果object不存在,返回error.html
场景二:用户设置了索引页面支持为index.html,且上传/dir/index.html为桶内对象。Bucket为cos-example,Endpoint为cos-cn-suzhou.chinac.com
用户访问http://cos-example.cos-cn-suzhou.chinac.com/dir/,返回dir/空目录
用户访问http://cos-example.cos-cn-suzhou-website.chinac.com/dir/,返回上传的index.html内容
注意:URL末尾的斜线。
请求示例
同时设置index和error页面
请求示例
PUT /?website HTTP/1.1
Host: test-bucket.cos.chinac.com
Content-Length: 209
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: COS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
{
"IndexDocument":{"Suffix":"index.html"},
"ErrorDocument":{"Key":"errorDocument.html"}
}
返回示例
HTTP/1.1 200 OK
x-cos-request-id: 534B371674E88A4D8906008B
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: COS
只设置index页面
请求示例
PUT /?website HTTP/1.1
Host: test-bucket.cos.chinac.com
Content-Length: 209
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: COS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
{
"IndexDocument":{"Suffix":"index.html"},
"ErrorDocument":{"Key":" "}
}
返回示例
HTTP/1.1 200 OK
x-cos-request-id: 534B371674E88A4D8906008B
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: COS