java web服務端CORS跨域配置

2021-08-21 05:09:52 字數 1253 閱讀 6387

cors-crossorigin resource sharing,即跨域資源共享,它定義了一種伺服器和瀏覽器的互動方式來確定是否允許跨域請求。cors簡單靈活,但有風險性,能實現ajax跨域訪問。

cors是乙個由瀏覽器共同遵循的一套策略,通過http的header來進行互動。當瀏覽器識別到傳送的請求是跨域請求的時候,會把origin的header加入到http請求一起傳送到伺服器。伺服器會解析header並判斷是否允許跨域請求,如果允許,響應頭中會有access-control-allow-origin這個屬性。如果伺服器允許所有跨域請求,將該屬性設定為*即可,如果響應頭沒有改屬性,則瀏覽器會攔截該請求。

以上是簡單情況,cors將規範分為兩種型別的請求,一種是簡單請求,另一種是攜帶預檢的請求。預檢機制是一種保護機制,防止資源被沒有許可權的請求修改。瀏覽器會在傳送實際請求之前先傳送乙個options的http請求來判斷伺服器是否能接受跨域請求。如果不能接受,瀏覽器會直接取消後面的實際請求的傳送。

cors

filter-name>

com.thetransactioncompany.cors.corsfilter

filter-class>

<

init-param

cors.alloworigin

param-name>

*param-value>

init-param>

cors.supportedmethods

param-name>

get, post, head, put, delete

param-value>

init-param>

cors.supportedheaders

param-name>

accept, origin, x-requested-with, content-type, last-modified

param-value>

init-param>

cors.exposedheaders

param-name>

set-cookie

param-value>

init-param>

cors.supportscredentials

param-name>

true

param-value>

init-param>

filter>

cors

filter-name>

/*url-pattern>

javaweb服務端跨域支援

專案開發為了支援web瀏覽器ajax的直接請求,涉及到了跨域的需求,通過學習對跨域有了更深入的認識,現在總結一下 跨域指請求和服務的域不一致,瀏覽器和h5的ajax請求有影響,而對服務端之間的http請求沒有限制。跨域是瀏覽器攔截了伺服器端返回的相應,不是攔截了請求。服務端的跨域支援主要包括兩種方式...

java 服務端設定跨域

自 setheader name,value 如果header中沒有定義則新增,如果已定義則用新的value覆蓋原用value值。addheader name,value 如果header中沒有定義則新增,如果已定義則保持原有value不改變。最簡單的處理方式 response.setheader ...

HTTP服務端JSON服務端

最後更新日期 2014 5 18 author kagula 內容簡介 cppcms是個開源web開發框架,通過它可以很容易實現http服務和json服務,這裡介紹cppcms開發環境的搭建。寫乙個cppcms測試程式,它建立http服務,向瀏覽器返回hello,world頁面。cppcms依賴的一...