天天看點

CROS 跨域請求原理

cros 分為兩種請求

簡單請求

浏覽器将CORS請求分成兩類:簡單請求(simple request)和非簡單請求(預檢請求)(not-so-simple request)。

隻要同時滿足以下兩大條件,就屬于簡單請求。

(1) 請求方法是以下三種方法之一:
 
HEAD
GET
POST
 
(2)HTTP請求頭資訊不超出以下幾種字段:
 
Accept
Accept-Language
Content-Language
Last-Event-ID
Content-Type:隻限于三個值application/x-www-form-urlencoded、multipart/form-data、text/plain      

凡是不同時滿足上面兩個條件,就屬于非簡單請求。

浏覽器對這兩種請求的處理,是不一樣的。

Access-Control-Allow-Origin: http://kbiao.me

Access-Control-Max-Age: 3628800

Access-Control-Allow-methods: GET, PUT, DELETE, POST

Access-Control-Allow-Header: content-type

Access-Control-Allow-Credentail: true

“Access-Control-Allow-Origin"表明它允許” http://kbiao.me "發起跨域請求

"Access-Control-Max-Age"表明在3628800秒内,不需要再發送預檢驗請求,可以緩存該結果(上面的資料上我們知道CROS協定中,一個AJAX請求被分成了第一步的OPTION預檢測請求和正式請求)

"Access-Control-Allow-Methods"表明它允許GET、PUT、DELETE的外域請求