开发者社区> 问答> 正文

关于Bucket的操作之如何实现PutBucketWebsite?

Put Bucket Website操作可以将一个bucket设置成静态网站托管模式。

请求语法PUT /?website HTTP/1.1
Date: GMT Date
Content-Length:ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Authorization: SignatureValue

<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
    <IndexDocument>
        <Suffix>index.html</Suffix>
    </IndexDocument>
    <ErrorDocument>
        <Key>errorDocument.html</Key>
    </ErrorDocument>
</WebsiteConfiguration>





请求元素(Request Elements)

名称描述是否必须
ErrorDocument子元素Key的父元素类型: 容器父元素: WebsiteConfiguration
IndexDocument子元素Suffix的父元素. 类型: 容器父元素: WebsiteConfiguration
Key返回404错误时使用的文件名 类型:字符串 父元素: WebsiteConfiguration.ErrorDocument有条件:当ErrorDocument设置时,必需有条件
Suffix返回目录URL时添加的索引文件名,不要为空,也不要包含"/"。例如索引文件设置为index.html,则访问:oss-cn-hangzhou.aliyuncs.com/mybucket/mydir/这样请求的时候默认都相当于访问oss-cn-hangzhou.aliyuncs.com/mybucket/index.html 类型:字符串父元素: WebsiteConfiguration.IndexDocument
WebsiteConfiguration请求的容器 类型:容器父元素: 无


细节分析

  1. 所谓静态网站是指所有的网页都由静态内容构成,包括客户端执行的脚本,例如JavaScript;OSS不支持涉及到需要服务器端处理的内容,例如PHP,JSP,APS.NET等。
  2. 如果你想使用自己的域名来访问基于bucket的静态网站,可以通过域名CNAME来实现。具体配置方法见3.4节:自定义域名绑定。
  3. 用户将一个bucket设置成静态网站托管模式时,必须指定索引页面,错误页面则是可选的。
  4. 用户将一个bucket设置成静态网站托管模式时,指定的索引页面和错误页面是该bucket内的一个object。
  5. 在将一个bucket设置成静态网站托管模式后,对静态网站根域名的匿名访问,OSS将返回索引页面;对静态网站根域名的签名访问,OSS将返回Get Bucket结果。
  6. 如果用户上传了Content-MD5请求头,OSS会计算body的Content-MD5并检查一致性,如果不一致,将返回InvalidDigest错误码。


示例


[backcolor=transparent]请求示例: PUT /?website HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 209
Date: Fri, 04 May 2012 03:21:12 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfj byc:KU5h8YMUC78M30dXqf3JxrTZHiA=

<?xml version="1.0" encoding="UTF-8"?>
<WebsiteConfiguration>
<IndexDocument>
<Suffix>index.html</Suffix>
</IndexDocument>
<ErrorDocument>
<Key>error.html</Key>
</ErrorDocument>
</WebsiteConfiguration>


[backcolor=transparent]返回示例: HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS

展开
收起
青衫无名 2017-10-20 10:38:14 2379 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载