要點(diǎn)摘錄:
? ??跨域資源共享(CORS)機(jī)制允許?Web 應(yīng)用服務(wù)器進(jìn)行跨域訪問控制,從而使跨域數(shù)據(jù)傳輸?shù)靡园踩M(jìn)行。瀏覽器支持在 API 容器中(例如XMLHttpRequest或Fetch)使用 CORS,以降低跨域 HTTP 請(qǐng)求所帶來的風(fēng)險(xiǎn)。
CORS 需要客戶端和服務(wù)器同時(shí)支持。目前,所有瀏覽器都支持該機(jī)制。
對(duì)服務(wù)器數(shù)據(jù)產(chǎn)生副作用的 HTTP 請(qǐng)求方法(特別是GET以外的 HTTP 請(qǐng)求,或者搭配某些 MIME 類型的POST請(qǐng)求):
? ? 1.瀏覽器必須首先使用OPTIONS方法發(fā)起一個(gè)預(yù)檢請(qǐng)求(preflight request),從而獲知服務(wù)端是否允許該跨域請(qǐng)求
????2.服務(wù)器確認(rèn)允許之后,才發(fā)起實(shí)際的?HTTP 請(qǐng)求。
? ? 3.在預(yù)檢請(qǐng)求的返回中,服務(wù)器端也可以通知客戶端,是否需要攜帶身份憑證(包括Cookies和 HTTP 認(rèn)證相關(guān)數(shù)據(jù))。