跨域實現方式CORS

2021-09-29 21:07:10 字數 994 閱讀 4061

之前我們已經了解到跨域的實現方式jsonp,今天來講講另外一種:cors.

什麼是cors

cors:全稱為 cross-origin resource sharing,即跨域資源共享,它允許瀏覽器向跨域伺服器傳送 ajax 請求,克服了 ajax 只能同源使用的限制。

實現原理

當客戶端傳送請求時,若瀏覽器端發現該請求為跨域的,則會自動在請求頭中新增origin欄位,origin值是傳送請求的頁面位址,伺服器端來通過其來決定是否同意這次請求,無論同意與否,伺服器都會返回乙個http響應,那麼瀏覽器如何判斷伺服器端是否同意呢?伺服器端如果同意這次請求,則會在響應頭中新增access-control-access-origin欄位,於是,我們只要在伺服器端設定該響應頭就可以實現跨域資源共享。

這種方法不需要去修改相應的ajax**,只需要在伺服器端設定一些屬性即可以實現:

1.在請求頭中設定允許哪些客戶端訪問:

這裡以express框架做個例項,**如下:

res.

header

("access-control-access-origin"

,"*"

)//*號表示所有,如果要具體指定則可以換成相應網域名稱

2.設定允許客戶端使用哪些方法

res.

header

("access-control-access-methods"

,"get,post"

)

這樣就完成了,是不是很簡單。

與jsonp對比

cors和jsonp都是為了使web瀏覽器能夠跨源請求,使用目的相同,但是比jsonp更強大。jsonp只支援get請求,而cors支援所有型別的http請求,不過jsonp的優勢在於支援老式瀏覽器以及可以向不支援cors的**跨源請求。

使用 CORS 方式跨域

cors cross origin resource sharing 跨源資源共享 當乙個請求url的協議 網域名稱 埠三者之間任意一與當前頁面位址不同即為跨域。不需要攜帶cookies,authorization,則前端無需配置 需要攜帶cookies,authorization,前端的xmlht...

CORS實現跨域請求

1.cors是什麼?1.隨著技術的發展,現在的瀏覽器可以支援主動設定從而允許跨域請求,即 跨域 資源共享 cors,cross origin resource sharing 2.其本質是設定響應頭,使得瀏覽器允許跨域請求。2 簡單請求必須滿足的兩個條件 不滿足就是 複雜請求 簡單請求 一次請求 非...

cors實現請求跨域

簡介 cors 全稱 跨域資源共享 cross origin resource sharing cors需要瀏覽器和伺服器同時支援,才可以實現跨域請求,目前幾乎所有瀏覽器都支援cors,ie則不能低於ie10。cors的整個過程都由瀏覽器自動完成,前端無需做任何設定,跟平時傳送ajax請求並無差異。...