Session跨域
所謂Session跨域就是摒棄了系統(tǒng)(Tomcat)提供的Session,而使用自定義的類似Session的機(jī)制來保存客戶端數(shù)據(jù)的一種解決方案。
如:通過設(shè)置cookie的domain來實(shí)現(xiàn)cookie的跨域傳遞。在cookie中傳遞一個(gè)自定義的session_id。這個(gè)session_id是客戶端的唯一標(biāo)記。將這個(gè)標(biāo)記作為key,將客戶端需要保存的數(shù)據(jù)作為value,在服務(wù)端進(jìn)行保存(數(shù)據(jù)庫保存或NoSQL保存)。這種機(jī)制就是Session的跨域解決。
什么跨域: 客戶端請求的時(shí)候,請求的服務(wù)器,不是同一個(gè)IP,端口,域名,主機(jī)名的時(shí)候,都稱為跨域。
什么是域:在應(yīng)用模型,一個(gè)完整的,有獨(dú)立訪問路徑的功能集合稱為一個(gè)域。如:百度稱為一個(gè)應(yīng)用或系統(tǒng)。百度下有若干的域,如:搜索引擎(www.baidu.com),百度貼吧(tie.baidu.com),百度知道(zhidao.baidu.com),百度地圖(map.baidu.com)等。域信息,有時(shí)也稱為多級(jí)域名。域的劃分: 以IP,端口,域名,主機(jī)名為標(biāo)準(zhǔn),實(shí)現(xiàn)劃分。
localhost / 127.0.0.1
使用cookie跨域共享,是session跨域的一種解決方案。
jsessionid是和servlet綁定的http session的唯一標(biāo)記。
cookie應(yīng)用 - new Cookie("", "").
request.getCookies() -> cookie[] -> 迭代找到需要使用的cookie
response.addCookie().
cookie.setDomain() - 為cookie設(shè)定有效域范圍。
cookie.setPath() - 為cookie設(shè)定有效URI范圍。
總結(jié)
- 上一篇: Nacos命名空间
- 下一篇: 什么时候你应该用JSON Web Tok