3 CORS支持

3.1 介紹

出于安全考慮,瀏覽器禁止對當(dāng)前源之外的資源進行AJAX調(diào)用。例如,當(dāng)你在一個標(biāo)簽頁檢查你的銀行賬戶時,你可以在另一個標(biāo)簽頁打開evil.com的網(wǎng)站。在evil.com中的腳本不能使用你的憑據(jù)來通過AJAX請求訪問你的銀行API(例如,從你的銀行取款!)。

跨域資源共享(Cross-origin resource sharing)(CORS)是W3C的標(biāo)準,大部分的瀏覽器都實現(xiàn)了這個標(biāo)準來讓你可以靈活地指定什么樣的跨域請求是被授權(quán)的,而不用使用IFRAME或JSONP這些不太安全和功能不強的黑客技術(shù)。

從Spring Framework 4.2起,CORS就支持開箱即用。CORS請求(包括一個預(yù)檢請求OPTIONS方法)自動分發(fā)到各個注冊的HandlerMapping中。由于CorsProcessor的實現(xiàn)(默認是DefaultCorsProcessor),它們處理CORS預(yù)檢請求,并攔截CORS的簡單而實際請求,以便根據(jù)你提供的CORS配置添加相關(guān)的CORS響應(yīng)頭(如Access-Control-Allow-Origin)。

網(wǎng)友評論