使用cors解決跨域遇到瀏覽器發出options嗅探


前言: 本地開發起的服務器,通過修改hosts文件設置域名映射到本地,接口在測試環境

1. 服務器端設置cors, 配置access-control-allow-origin 頭部

 

使用螞蟻金服的upload組件時發現錯誤,network中可以看到有一個options請求,而本人實際上並沒有使用options的習慣

查看antdesign文檔上的upload, 發現發出了兩次請求,第一個是options,第二個才是上傳的post請求

 

查看相關文檔發現, options請求是瀏覽器行為,

使用cors解決跨域時,如果是非標准cors,  比如使用 DELETE , PUT 等方法, 設置非常規的請求頭部(比如使用jwp, 在header中傳遞token進行身份驗證),上傳文件等, 瀏覽器會先發出一次options請求,該請求不會帶任何參數(包括設置的頭部,cookie等), 等待服務器端返回200, 才會發出正常的請求

 

遺留問題:

  1. 如果設置頭部, 應該每次請求都會先發出options請求, 然而有些接口卻沒有發出

  2. 有些get請求,在瀏覽器network中看是options,  而實際上服務器接收的get, 能正常操作

 

 

參考: https://my.oschina.net/tridays/blog/758994

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM