java web 跨域_java web服务端CORS跨域配置
CORS介紹
CORS-CrossOrigin Resource Sharing,即跨域資源共享,它定義了一種服務(wù)器和瀏覽器的交互方式來(lái)確定是否允許跨域請(qǐng)求。CORS簡(jiǎn)單靈活,但有風(fēng)險(xiǎn)性,能實(shí)現(xiàn)ajax跨域訪問(wèn)。
CORS是一個(gè)由瀏覽器共同遵循的一套策略,通過(guò)http的header來(lái)進(jìn)行交互。當(dāng)瀏覽器識(shí)別到發(fā)送的請(qǐng)求是跨域請(qǐng)求的時(shí)候,會(huì)把Origin的Header加入到http請(qǐng)求一起發(fā)送到服務(wù)器。服務(wù)器會(huì)解析Header并判斷是否允許跨域請(qǐng)求,如果允許,響應(yīng)頭中會(huì)有Access-Control-Allow-Origin這個(gè)屬性。如果服務(wù)器允許所有跨域請(qǐng)求,將該屬性設(shè)置為*即可,如果響應(yīng)頭沒(méi)有改屬性,則瀏覽器會(huì)攔截該請(qǐng)求。
以上是簡(jiǎn)單情況,CORS將規(guī)范分為兩種類型的請(qǐng)求,一種是簡(jiǎn)單請(qǐng)求,另一種是攜帶預(yù)檢的請(qǐng)求。預(yù)檢機(jī)制是一種保護(hù)機(jī)制,防止資源被沒(méi)有權(quán)限的請(qǐng)求修改。瀏覽器會(huì)在發(fā)送實(shí)際請(qǐng)求之前先發(fā)送一個(gè)OPTIONS的Http請(qǐng)求來(lái)判斷服務(wù)器是否能接受跨域請(qǐng)求。如果不能接受,瀏覽器會(huì)直接取消后面的實(shí)際請(qǐng)求的發(fā)送。
java服務(wù)端配置方法
引入 cors-filter-1.7.jar和Java-property-utils-1.9.jar
在web.xml中配置:
CORS
com.thetransactioncompany.cors.CORSFilter
cors.allowOrigin
*
cors.supportedMethods
GET, POST, HEAD, PUT, DELETE
cors.supportedHeaders
Accept, Origin, X-Requested-With, Content-Type, Last-Modified
cors.exposedHeaders
Set-Cookie
cors.supportsCredentials
true
CORS
/*
總結(jié)
以上是生活随笔為你收集整理的java web 跨域_java web服务端CORS跨域配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java数组二分查找_java 13-1
- 下一篇: java 详解 搭建 框架_在Eclip