瀏覽上下文組
以這兩種方式打開的頁(yè)面
-
<a />標(biāo)簽方式 -
window.open()方式
打開的頁(yè)面和源頁(yè)面之間建立了連接,新打開的頁(yè)面可通過window.opener()與源頁(yè)面通信,這兩個(gè)頁(yè)面稱為在同一個(gè)瀏覽上下文組。
例外
<a />打開新頁(yè)面時(shí),設(shè)置ref屬性為ref = "noopener noreferer",則新打開的頁(yè)面與源頁(yè)面之間像字段表達(dá)那樣沒有連接、沒有引用,不在同一瀏覽上下文組。
同一站點(diǎn)
兩個(gè)url的協(xié)議、根域名都相同,稱它們?yōu)橥徽军c(diǎn)。
渲染進(jìn)程的分配
進(jìn)程分配
對(duì)于同一個(gè)瀏覽上下文組內(nèi)的同一站點(diǎn)會(huì)共用一個(gè)渲染進(jìn)程。
優(yōu)點(diǎn)
- 同一站點(diǎn)可能會(huì)依賴相同的資源,共用渲染進(jìn)程可復(fù)用共同資源、節(jié)省創(chuàng)建進(jìn)程的開支。
- 同一站點(diǎn)共用渲染進(jìn)程安全所帶來的隱患也較低。
同源策略依然作用
共用渲染進(jìn)程的頁(yè)面,依然會(huì)受到同源策略的限制,屬于同一站點(diǎn)、但不屬于同源站點(diǎn),也不能通過window.opener()對(duì)源頁(yè)面進(jìn)行操作。