什麼是同源策略?web
同源策略(Same origin policy)是一種約定,它是瀏覽器最核心的也是最基本的安全功能,web也是構建在同源策略基礎上,瀏覽器只是針對同源策略的一種實現。後端
它是由Netscape提出的一個著名的安全策略,目前支持JavaScript的瀏覽器都會使用找個策略。跨域
什麼是同源?瀏覽器
同源:域名/端口/協議相同安全
同源分爲兩種狀況:1.dom的同源策略:禁止對不一樣頁面的dom進行操做websocket
2.XMLHttpRequest同源:禁止使用XHR對象向不一樣源的ip發起http請求dom
爲何會出現跨域socket
當瀏覽器的tab打開兩個不一樣的網站頁面,瀏覽器的1tab執行腳本時候會檢查找個腳本屬於哪一個頁面,檢查域名/端口/協議是否一致,若是同源則執行,若是非一致,則會在控制檯拋出異常。網站
這也得益於瀏覽器同源策略對用戶安全信息的保護。代理
如何解決跨域問題
1.由後端進行跨域配置(推薦)
2.使用 反向代理
3.websocket(自然跨域)