Access-Control-Allow-Origin的中文是跨域資源共享(CORS)的一個(gè)HTTP首部字段,它使得多個(gè)源上的Web應(yīng)用程序可以共享基于同一個(gè)源上的資源,而不必?fù)?dān)心跨站腳本(XSS)攻擊的安全問(wèn)題。
設(shè)置Access-Control-Allow-Origin通常是使用HTTP頭來(lái)完成的,其形式如下 :
Access-Control-Allow-Origin : 源
Access-Control-Allow-Origin值可以是星號(hào)(*)、域名標(biāo)識(shí)符(如http://example. com)、具有Http請(qǐng)求或響應(yīng)來(lái)源的完全規(guī)范URL(如https://sub.example.com)之類的字符串,以及null。
當(dāng)響應(yīng)來(lái)源與請(qǐng)求來(lái)源不匹配時(shí),Access-Control-Allow-Origin的值設(shè)置為星號(hào)(*),這將允許來(lái)自任何源的請(qǐng)求進(jìn)行非簡(jiǎn)單跨域請(qǐng)求。
在彈性域中,Access-Control-Allow-Origin可以設(shè)置為特定的URL或URL列表,以允許特定的源發(fā)起特定請(qǐng)求,而不允許來(lái)自不受完全信任的其他源的跨域請(qǐng)求。
有時(shí),Access-Control-Allow-Origin假定為某些提前確定的URL列表,在某些時(shí)候,可以在回應(yīng)頭中添加一有效的Access-Control-Allow-Origin來(lái)完成XHR或Fetch請(qǐng)求。
此外,一些服務(wù)器可能會(huì)在請(qǐng)求頭中增加Access-Control-Allow-Origin,以根據(jù)規(guī)定的源白名單進(jìn)行特定的跨域請(qǐng)求。這是CSP(內(nèi)容安全策略)的一種,可以幫助開(kāi)發(fā)人員提高網(wǎng)站的安全性。
總的來(lái)說(shuō),Access-Control-Allow-Origin是一種服務(wù)端設(shè)置,可以幫助開(kāi)發(fā)者實(shí)現(xiàn)改進(jìn)的安全性、跨域訪問(wèn)、數(shù)據(jù)共享和XHR(跨域Http請(qǐng)求)/Fetch(跨域數(shù)據(jù)請(qǐng)求)請(qǐng)求。