亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

axios如何攜帶cookie配置

發布時間:2021-07-09 13:47:40 來源:億速云 閱讀:4871 作者:小新 欄目:web開發

這篇文章給大家分享的是有關axios如何攜帶cookie配置的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

前端配置如下:

  axios.defaults.withCredentials = true; //配置為true
  
  axios.post('http://localhost:3000/tpzdz/vote/all', {
   openid: 'oJ0mVw4QrfS603gFa_uAFDADH2Uc',
   date: '2018-11-21'
  }).then(function (response) {
   console.log(response)
  })

前端配置withCredentials = true 后端的跨域也需要配置

app.use(async (ctx, next) => {
 ctx.set('Access-Control-Allow-Origin', ctx.request.header.origin);
 ctx.set('Access-Control-Allow-Credentials', true);
 await next();
});

//防止每次請求都返回Access-Control-Allow-Methods以及Access-Control-Max-Age,
//這兩個響應頭其實是沒有必要每次都返回的,只是第一次有預檢的時候返回就可以了。
app.use(async (ctx, next) => {
 if (ctx.method === 'OPTIONS') {
  ctx.set('Access-Control-Allow-Methods', 'PUT,DELETE,POST,GET');
  ctx.set('Access-Control-Max-Age', 3600 * 24);
  ctx.body = '';
 }
 await next();
});

實例展示完了,我們來講講都是怎么回事

withCredentials:默認情況下,跨源請求不提供憑據(cookie、HTTP認證及客戶端SSL證明等)。通過將withCredentials屬性設置為true,可以指定某個請求應該發送憑據。

  • 默認值為false。

  • true:在跨域請求時,會攜帶用戶憑證

  • false:在跨域請求時,不會攜帶用戶憑證;返回的 response 里也會忽略 cookie

當配置了 withCredentials = true時,必須在后端增加 response 頭信息Access-Control-Allow-Origin,且必須指定域名,而不能指定為*!!!

那么問題就來了,若是多個域名呢?
我配置的是任意域名都可以訪問,但是這樣并不安全。建議做法是創建一個數組,每次去檢測域名是否在數組內,存在則繼續

講到這里了,那么延伸一下 post請求下的options

options 它是一種探測性的請求,通過這個方法,客戶端可以在采取具體資源請求之前,決定對該資源采取何種必要措施,或者了解服務器的性能。

前臺跨域post請求,由于CORS(cross origin resource share)規范的存在,瀏覽器會首先發送一次options嗅探,同時header帶上origin,判斷是否有跨域請求權限,服務器響應access control allow origin的值,供瀏覽器與origin匹配,如果匹配則正式發送post請求。

每一次非簡單請求都會實際上發出兩次請求,一次預檢一次真正請求,這就比較損失性能了。

所以就有了2圖的中間件。 Access-Control-Max-Age: 86400

設置一個相對時間,在該非簡單請求在服務器端通過檢驗的那一刻起,當流逝的時間的毫秒數不足Access-Control-Max-Age時,就不需要再進行預檢,可以直接發送一次請求。

感謝各位的閱讀!關于“axios如何攜帶cookie配置”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

涡阳县| 偃师市| 石林| 历史| 丹巴县| 凤阳县| 禄丰县| 诸城市| 岳阳市| 尚志市| 罗山县| 南木林县| 漠河县| 城口县| 城固县| 平山县| 集贤县| 莆田市| 丁青县| 凯里市| 潮州市| 汕头市| 吉水县| 湖州市| 沙河市| 双江| 巴塘县| 沈丘县| 手机| 金堂县| 鹤岗市| 康定县| 文成县| 澄城县| 安泽县| 黎平县| 平凉市| 方城县| 隆昌县| 双江| 论坛|