跨域是什麼意思

跨域(Cross-origin)是指從一個網域(origin)的資源嘗試存取另一個網域的資源。在網頁瀏覽器中,這通常指的是從一個網站的JavaScript程式碼嘗試存取另一個網站的資料或功能。

例如,如果網站A的JavaScript程式碼嘗試發出請求到網站B的API,或者網站A的JavaScript嘗試讀取儲存在網站B的cookie,這就被稱為跨域請求。

在網頁瀏覽器中,為了保護用戶的隱私和安全性,存在同源政策(Same-origin Policy),這意味著瀏覽器通常會限制來自不同網域的資源之間的互動。這可以防止惡意的網站竊取來自其他網站的敏感資料。

跨域問題通常在開發單頁應用程式(SPA)或使用JavaScript庫和框架(如React、Angular或Vue)的應用程式中遇到,這些應用程式需要與後端API互動,這些API可能位於不同的網域。

解決跨域問題的方法包括使用CORS(跨源資源共享)、JSONP(JSON with Padding)、代理服務器或其他變通方法。