跨域cors中如何傳遞cookie(前端為什麽無法向後端傳遞cookie?)
阿新 • • 發佈:2017-09-28
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?)