## 公開資源下載
公開資源下載非常簡單,以HTTP GET方式訪問資源URL即可。資源URL的構成如下:
~~~
http://<domain>/<key>
~~~
以上的``有兩種形態:七牛子域名,自定義域名。
七牛子域名是一個創建空間時缺省分配的域名,開發者可以在[開發者平臺 - 空間設置 - 域名設置](https://portal.qiniu.com/)查看該子域名。子域名通常類似于`example-images.u.qiniudn.com`,用戶可以通過以下URL下載名為sunflower.jpg的資源:
~~~
http://example-images.u.qiniudn.com/sunflower.jpg
~~~
開發者可以申請為某特定空間綁定一個自定義域名,以通過這個域名訪問資源,比如綁定了一個自定義域名`i.example.com`,就可以這樣的方式訪問同樣的資源:
~~~
http://i.example.com/sunflower.jpg
~~~
## 私有資源下載
當用戶將空間設置成私有后,所有對空間內資源的訪問都必須獲得授權。
私有資源下載也是通過以HTTP GET方式訪問一個特定URL完成。私有資源URL與公開資源URL相比只是增加了兩個參數`e`和`token`,分別表示過期時間和下載憑證。一個完整的私有資源URL如下所示:
~~~
http://<domain>/<key>?e=<deadline>&token=<downloadToken>
~~~
參數`e`表示URL的過期時間,采用[UNIX Epoch時間戳格式](http://en.wikipedia.org/wiki/Unix_time),單位為秒。超時的訪問將返回401錯誤。
> 如果請求方的時鐘未校準,可能會造成有效期驗證不正常,比如直接認為已過期。因此需要進行時鐘校準。
>
> 由于開發者無法保證客戶端的時間都校準,所以應該在業務服務器上創建時間戳,并周期性校準業務服務器時鐘。
參數`token`攜帶下載憑證。下載憑證是對資源訪問的授權,不帶下載憑證或下載憑證不合法都會導致401錯誤,表示驗證失敗。關于下載憑證的生成,請參見[下載憑證](http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html "下載憑證")。
## 防盜鏈
下載還有一種常見的場景,即公開資源的防盜鏈,比如禁止特定來源域名的訪問,禁止非瀏覽器發起的訪問等。
我們可以通過HTTP協議支持的Referer機制(參見HTTP Referer)來進行相應的來源識別和管理。
防盜鏈是一個系統設置,不影響開發工作。如發現有盜鏈情況,開發者可在開發者平臺的空間設置頁面進行相應的設置。