跨域設置
更新時間 2025-01-15 15:03:54
最近更新時間: 2025-01-15 15:03:54
分享文章
本節主要介紹跨域設置。
在“存儲桶列表”頁面點擊“屬性”>“跨域設置”,進入“跨域設置”頁面。在該頁面,用戶可以設置存儲桶的跨域規則。
瀏覽器限制腳本內發起跨源HTTP請求,即同源策略。例如,當來自于A網站的頁面中的JavaScript代碼希望訪問B網站的時候,瀏覽器會拒絕該訪問,因為A、B兩個網站是屬于不同的域。通過配置CORS,可以解決不同域相互訪問的問題,CORS定義了客戶端Web應用程序在一個域中與另一個域中的資源進行交互的方式。
以下是有關使用 CORS 的示例場景:
- 場景 1:比如用戶的網站www.exam***ple.com,后端使用了OOS。在web應用中提供了使用JavaScript實現的上傳文件功能,但是在該web應用中,只能向www.exam***ple.com發送請求,向其他網站發送的請求都會被瀏覽器拒絕。這樣就導致用戶上傳的數據必須從www.exam***ple.com中轉。如果設置了跨域訪問的話,用戶就可以直接上傳到OOS,而無需從www.exam***ple.com中轉。
- 場景2:假設用戶在名為example-bucket的Bucket中托管網站,網站的Endpoint是//example-bucket.oos-website-cn.oos-xx.ctyunapi.cn。現在,用戶想要使用網頁上的 JavaScript (存儲在此Bucket中),通過OOS API endpoint oos-xx.ctyunapi.cn向bucket發送GET 和 PUT 請求。瀏覽器通常會阻止 JavaScript 發送這些請求,但借助CORS,用戶可以配置Bucket支持來自example-bucket.oos-website-cn.oos-xx.ctyunapi.cn 的跨域請求。
點擊“添加規則”可以增加新的跨域訪問規則:
| 項目 | 描述 |
|---|---|
| ID | 規則的唯一標識,最長255個字符,選填。 |
| 來源 | 允許跨域的源。 可以指定多個,每行一個,每行最多有一個使用通配符(*)。 |
| 允許的方法 | 允許跨域的請求:GET、PUT、HEAD、POST、DELETE。 |
| 允許的Headers | 通過Access-Control-Request-Headers請求頭,指定預檢OPTIONS請求中允許的請求頭。 可以指定多個,每行一個,每行最多有一個使用通配符(*)。 |
| 暴露的Headers | 指定客戶應用程序(例如,JavaScript XMLHttpRequest文件)能夠訪問的響應頭。 可以指定多個,每行一個,不能使用通配符(*)。 |
| 緩存時間(秒) | 指定瀏覽器對特定資源的預檢(OPTIONS)請求返回結果的緩存時間,單位為秒。 |