前端面試問題之同源策略

同源策略介紹

同源策略(Same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,若是缺乏了同源策略,則瀏覽器的正常功能可能都會受到影響。能夠說Web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。html

 

同源策略 是由Netscape提出安全策略。目前來講,全部支持JavaScript的瀏覽器都支持同源策略跨域

 

同源到底指的是什麼?

對於任意的網址來講,域名端口協議都是必不可少的一部分。瀏覽器

例如:安全

1 http://www.baidu.com  

在上面這個地址當中,http是協議,而www.baidu.com就是域名。服務器

再好比:測試

http://localhost:8080

上面的這個域名在平常的測試當中比較常見,後面的8080就是端口號。spa

通常來講,所謂的同源,指的是域名協議端口相同。code

好比:htm

http://www.test.com/a/index.html 
和
http://www.test.com/b/index.html
同源

上面的兩個地址當中,協議、域名、端口三者皆相同,因此屬於同源狀態。blog

再好比:

http://www.test.com:8080/index.html
和
http://www.test.com:8081/index.html

上面的兩個地址看上去相同,可是端口號不一樣,因此並非處於同源.

http://a.test.com/a.html
和
http://b.test.com/a.html
不一樣源

上面的兩個地址由於域名不一樣,因此也並非處於同源狀態

同源策略的好處 

同源策略是屬於瀏覽器的行爲,目的是爲了保護本地的數據不被JavaScript代碼獲取回來的數據污染,所以攔截的是客戶端發出的請求回來的數據接收,也就是說請求發送了,服務器響應了,可是沒法被瀏覽器接收。

Tip:雖說同源策略保證避免了數據污染,可是也爲開發數據交互請求製造了必定的難度,因此纔會有了各類跨域之說。

相關文章
相關標籤/搜索