跨域使用自定義請求頭


1.跨域

跨域是指請求協議,域名,端口三者存在某幾個不同的時候就是跨域。

2.瀏覽器同源策略

同源策略限制了不同源之前的資源使用,比如cookie,請求頭等。參考(https://www.cnblogs.com/laixiangran/p/9064769.html

3.跨域共享cookie

cookie是從服務端下發到客戶端(瀏覽器)的,服務端通過發送一個名為 Set-Cookie 的HTTP頭來創建一個cookie,作為 Response Headers 的一部分。

通過 Set-Cookie 指定的可選項(域、路徑、失效時間、secure標志)只會在「瀏覽器端」使用,它們都是服務器給瀏覽器的指示,以指定何時應該發送cookie。這些參數不會被發送至服務器端,只有name和value才會被發送。

客戶端會根據這個響應頭存儲Cookie信息。再次請求服務器時,客戶端會在請求信息中包含一個Cookie請求頭,而服務器會根據這個請求頭進行用戶身份、狀態等較驗。

使用cors來解決跨域問題時需要以下步驟:

a.服務端設置響應消息頭Access-Control-Allow-Credentials值為“true”。
同時,還需要設置響應消息頭Access-Control-Allow-Origin值為指定單一域名(注:不能為通配符“*”)。

b.客戶端需要設置Ajax請求屬性withCredentials=true,讓Ajax請求都帶上Cookie。

 

4.跨域使用自定義請求頭

a.服務端設置Access-Control-Expose-Headers (參考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Access-Control-Expose-Headers

服務端設置Access-Control-Allow-Headers的值包含‘Access-Control-Expose-Headers’,比如我自定義的請求頭叫scdefinded:123456;

 

 

然后在請求中正常的設置自定義請求頭即可 

瀏覽器中顯示

 


免責聲明!

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



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