由於工作需要,花費了較多的時間處理跨域的問題,未避免遺忘,特此記錄。
第一種:協議不同;
第二種:網域名稱不同;
第三種:埠不同;
首先,跨域(cors)需要瀏覽器和伺服器同時支援;
其次,跨域的安全性,由瀏覽器全權負責;
最後,跨域通訊如果需要帶cookie,需要雙方都同意;
基於springmvc的後台,在webmvchandleradapter設定cors放行; 實現方式可以用註解對單個請求處理,或者全域性配置的方式;
其它伺服器容器,在返回頭中設定 access-control-allow-origin: * ;
其本質也就是在響應頭裡面設定 access-control-allow-origin: * 字段;
1.預設情況下,某個源只能在當前域或者當前域的父級寫入cookie(同級與子級都不行);
比如, one.automannn.cn 可以 往 one.automannn.cn 和 automannn.cn寫入cookie記錄;
two.automannn.cn 可以讀取到 two.automannn.cn 和 automannn.cn 的cookie記錄;
因此,第一種共享方案: 通過**,將不同的關聯系統 設定成 父子域;(不適用於動態接入系統,以及 系統太多的情況,且耦合度很高); (即,通過後台登陸其它系統的方式,進行瀏覽器共享;)
第二種共享方案: 通過瀏覽器+伺服器的方式,由於天生符合cors協議的要求,所以可以實現 類似於cookie共享(即需要將cookie儲存在不同的域下)的功能;
此外,同名的cookie不一定相互排斥,即某乙個請求可能包括多個jsessionid;cooke的唯一性還需要由 domain,path共同確定;
總結一下跨域的幾種情況
跨域資源共享 cors 詳解 -------->跨域必看文章
實現跨域cookie共享
cookie有三個屬性需要注意一下 1.domain 域 2.path 路徑 3.expires 過期時間 跨域操作需要設定域屬性 response.cookies mycookie domain cnblogs.com 這裡指的是泛網域名稱 這樣在其它二級網域名稱下就都可以訪問到了,asp 和 a...
跨域共享Cookie
cookie有三個屬性需要注意一下 1.domain 域 2.path 路徑 3.expires 過期時間 跨域操作需要設定域屬性 response.cookies mycookie domain cnblogs.com 這裡指的是泛網域名稱 這樣在其它二級網域名稱下就都可以訪問到了,asp 和 a...
跨域共享cookie和跨域共享session
的父網域名稱.cookie4可以被提交,因為domain和cookie都嚴格保持一致.這裡需要注意的是,在瀏覽器看來.www.vinceruan.info不是blog.vinceruan.info 的父網域名稱,而vinceruan.info才是blog.vinceruan.info的父網域名稱,w...