跨域—同源策略(經(jīng)典前端面試題)

什么是跨域

  • 跨域:
    是指瀏覽器不能執(zhí)行其它網(wǎng)站的腳本;
    是由瀏覽器的同源策略造成的;
    是瀏覽器對(duì)JavaScript實(shí)施的安全限制;
    那么只要協(xié)議、域名、端口有任何一個(gè)不同,都會(huì)被當(dāng)做是不同的域;

跨域原理:通過各種方式,避開瀏覽器的安全限制;

什么是同源策略

  • 同源策略(Same origin policy):是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會(huì)受到影響??梢哉fWeb是構(gòu)建在同源策略基礎(chǔ)之上的,瀏覽器只是針對(duì)同源策略的一種實(shí)現(xiàn)。

url地址組成:

  1. http協(xié)議
  2. 域名/ip地址 123.0.0.1本地回環(huán)ip地址
  3. 端口號(hào) :80 相當(dāng)于服務(wù)器大門
  4. 路徑 path查詢參數(shù)/動(dòng)態(tài)參數(shù)
  5. 錨點(diǎn)

兩個(gè)網(wǎng)站是否同源,取決于http協(xié)議,域名/ip,端口號(hào)是否全部一致

localstorage

遵循同源策略,只要在同源的網(wǎng)址里面,localStorage里的數(shù)據(jù)可以共享
會(huì)一直存在瀏覽器中,除非主動(dòng)去銷毀(removeItem)

sessionStorage

增刪查改的語法與localStorage一樣
存儲(chǔ)的數(shù)據(jù)類型也只能是字符串
不支持?jǐn)?shù)據(jù)共享,同源頁面也不支持
臨時(shí)存儲(chǔ),當(dāng)瀏覽器關(guān)閉或者標(biāo)簽頁關(guān)閉的時(shí)候就會(huì)被銷毀

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容