中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Spring MVC CORS 跨域

發布時間:2020-10-19 05:32:07 來源:腳本之家 閱讀:232 作者:小新是也 欄目:編程語言

介紹

跨域CORS,全稱是"跨域資源共享"(Cross-origin resource sharing)

當頁面發出跨域請求時:

1、簡單請求(先簡單理解為正常的get/post吧):

瀏覽器將請求的地址添加到header的Origin里面發送請求。接下來就看后臺如何處理了。

2、非簡單請求(姑且簡單理解成Content-Type:"application/json"吧):

瀏覽器會先發個預檢請求(preflight),也就是OPTIONS請求。服務器返回是否許可訪問和支持的請求方式,瀏覽器再決定是否發出請求。

使用@CrossOrigin注解

用法很簡單,只需在controller或者方法上面添加注解即可。在controller上用表示整個controller下的方法都支持跨域

@Controller
public class HomeController {
 @CrossOrigin
 @RequestMapping("/")
 public String Index() {
  return "Index";
 }
}

參數說明

  • origins: 表示允許跨域的地址
    前面的http(s)必須加,默認*表示全部
  • value: origins的別名
  • allowedHeaders: 在OPTIONS請求中,返回的Access-Control-Allow-Headers
    這個參數限定了客戶端只能發送的header參數,不在此范圍內瀏覽器阻止發出請求。默認*
  • exposedHeaders: 對應Access-Control-Expose-Headers
    該字段可選。CORS請求時,XMLHttpRequest對象的getResponseHeader()方法只能拿到6個基本字段:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。如果想拿到其他字段,就必須在Access-Control-Expose-Headers里面指定。上面的例子指定,getResponseHeader('FooBar')可以返回FooBar字段的值。
  • methods: 允許的請求方法,像get,post這些
  • allowCredentials: 對應Access-Control-Allow-Credentials 該字段可選。它的值是一個布爾值,表示是否允許發送Cookie。默認情況下,Cookie不包括在CORS請求之中。設為true,即表示服務器明確許可,Cookie可以包含在請求中,一起發給服務器。這個值也只能設為true,如果服務器不要瀏覽器發送Cookie,刪除該字段即可。
  • maxAge: 對應Access-Control-Max-Age 用來指定預檢請求的有效期(秒),在有效期內不在發送預檢請求直接請求。默認1800秒,即30分鐘。

使用spring配置文件

這個適合用于全局的配置,對應的字段跟CrossOrigin差不多。path表示允許跨域的路徑。

<mvc:cors>
 <mvc:mapping path="/**" allowed-methods="*"/>
</mvc:cors>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凭祥市| 荣成市| 浦东新区| 体育| 大同县| 石景山区| 琼结县| 青神县| 高密市| 乐昌市| 海阳市| 宝山区| 乌拉特前旗| 威信县| 新余市| 灵川县| 永年县| 宝山区| 睢宁县| 巫山县| 广河县| 道真| 巍山| 蒙山县| 湛江市| 长沙县| 葫芦岛市| 汽车| 潼关县| 社旗县| 长兴县| 德惠市| 曲麻莱县| 津市市| 南汇区| 湟源县| 道孚县| 根河市| 武宣县| 苗栗市| 全椒县|