CORS???
所謂跨站HTTP請求(Cross-site HTTP request)是指發出請求所在網域不同於請求所指向之網域的HTTP請求,例如網域A(http://domaina.example)的網頁載入一個<img>元素向網域B(http://domainb.foo)請求影像資源(http://domainb.foo/image.jpg)。這種作法在現今各網頁相當常見,網頁常常會載入其他網站資源,像是CSS樣式表、影像、程式碼等等資源。
基於安全性考量,程式碼所發出的跨站HTTP請求受到相當限制,好比說用XMLHttpRequest物件所發出的請求受限於同源政策(same-origin policy),只能發送HTTP請求到和其所來自的相同的網域,不過開發者也希望能發展出安全的跨站請求方法來開發更好、更安全、搭配多種資源的網頁應用。
恩... 上面都是節錄自MDN的HTTP access control (CORS) 這篇
W3C下轄的網頁應用工作小組(Web Applications Working Group)建議採用跨來源資源共享(Cross-Origin Resource Sharing, CORS)來達成安全的跨站資料傳輸。CORS提供網頁伺服器支援跨站存取控制方法,另外,這份規範是用於API容器,例如以XMLHttpRequest作為調解機制,好跳脫同網域限制;也因為客戶端瀏覽器會多出新的跨來源共享元件,包括標頭和政策施定,所以說,伺服器也必須相應地處理這些新增機制,也就是處理新標頭以及用新標頭發送資源。本文內容主要和網站管理員、伺服器端開發者和網站開發者有關,然後關於伺服器部分請參閱伺跨來源共享:從服器觀點出發(以PHP為範例)補充文章。
跨來源資源共享標準可用來開啟以下跨站HTTP請求:
用XMLHttpRequest API進行跨站請求,如前所述。
網頁字體(跨網域CSS的@font-face的字體用途),所以伺服器可以部屬TrueType字體並只允許授權網站進行跨站載入使用。
WebGL紋理
用drawImage畫到畫布上的影像
留言
張貼留言