1. 程式人生 > >跨域cors中如何傳遞cookie(前端為什麽無法向後端傳遞cookie?)

跨域cors中如何傳遞cookie(前端為什麽無法向後端傳遞cookie?)

con sam bsp ble 情況 需求 nbsp 什麽 gin

  • 沒有跨域

後端server只要在回應頭部‘set-cookie’,那麽就會有cookie產生並保存在客戶端client。

等到client再次向後端server發送請求時瀏覽器的機制就會自動攜帶cookie隨著請求一並發送給後端。

  • 跨域

瀏覽器默認情況下無法主動跨域向後端發送cookie, 如果你要發送cookie給server的話, 就需要將withCredentials設置為true了.

;但是,server並不是隨便就能接受並返回新的cookie給你的。 在server端,還需要設置. Access-Control-Allow-Credentials: true

這樣server才能返回新的cookie給你. 但是,這還有一個問題,就是cookie還是遵循same-origin policy

的。 所以, 你依舊無法使使用它.

最多是訪問到它。即使你設置了cors!

所以很多時候你能訪問到cookie,即使在客戶端做了修改它也不會改變,他的CRUD只能由 server控制.

最後建議:最好不要設置cors,一方面不安全(出於開發時的便捷,你可以使用一些中間件的代理例如proxyTable,幫你實現請求轉發達到跨域請求的效果)。

另一方面cookie很多時候都是硬需求,還是老老實實的設置可訪問的域,這樣才能靈活使用cookie

跨域cors中如何傳遞cookie(前端為什麽無法向後端傳遞cookie?)