瀏覽器同源策略詳解

概念

瀏覽器有一個很重要的概念——同源策略(Same-Origin Policy)。所謂同源是指,域名,協議,端口相同。不一樣源的客戶端腳本(javascript、ActionScript)在沒明確受權(一般是指後端給予你權力)的狀況下。不能讀寫對方的資源。簡單的來講,瀏覽器不容許包含在騰訊頁面的腳本訪問阿里巴巴頁面的數據資源,會受到同源策略的限制。
例如:http://www.example.com/dir/page.html與下面的url同源javascript

  • http://www.example.com/dir2/other.html

與下面的url不一樣源html

  • http://example.com/dir/other.html
  • http://v2.www.example.com/dir/other.html
  • http://www.example.com:81/dir/other.html
  • https://www.example.com/dir/page.html

url介紹

url全稱是統一資源定位符(Uniform resource positioning),它的結構像這樣:協議://域名(端口號、參數、查詢等)/path,下面就以http://zhidao.baidu.com/web/index.html分別簡單說一下它組成的各個部分。java

  • 協議:http等
  • 域名: zhidao.baidu.com
  • 端口: 端口是80(默認端口能夠省略)
  • path: 即在服務器上文件的路徑,該例子中爲/web/index.html

須要再強調一遍的是,這裏的同源指的指同協議,同域名和同端口,並且https默認端口是443,http默認是80web

域名

在網絡上,我沒每一臺設備都以ip,做爲惟一標誌,可是因爲ip的難記憶性、可變性,致使用戶體驗及爲很差,而後就出現了咱們的域名,像咱們平時接觸到的baidu.com iqiyi.com等都叫作域名,每個若是咱們像爲ip綁定域名,首先咱們須要申請一個域名,而後經過dns解析綁定咱們的ip和域名。這樣咱們之後想在瀏覽器中使用咱們的ip,就能夠直接使用咱們的域名了。後端

域名分級

域名通常會分爲一級域名、二級域名、三級域名等等,通常含有幾個.,咱們就稱之爲幾級域名,而且右邊的域名等級大於左邊的域名等級,例如:瀏覽器

  • baidu.com 一級域名, .com爲頂級域名
  • zhidao.baidu.com 二級域名, .com爲頂級域名,.baidu爲二級域名。

www拓展(歷史問題)

最開始,Internet提供的主要服務有萬維網(WWW)、文件傳輸(FTP)、電子郵件(E-mail)、遠程登陸(Telnet)等。也就是說,那個時候的www(World Wide Web)是標識這是一個須要你用瀏覽器來訪問的網頁服務,而不是須要你用telnet訪問的bbs,或者ftp工具訪問的文件傳輸服務。因此那個時候,網站主頁的域名前面要用www。
如今咱們已經能夠不用寫www了(不加www也叫裸域名),可是既然存在就有它的好處,以下服務器

  • 不加www只能解析A記錄(映射ip地址),加了還能夠解析C記錄(起別名例如baidu.com)
  • cookie範圍越大

常見域名

com org net 屬於頂級域名,是在全世界範圍內解析的,cn hk 是在一個地區解析的,好比cookie

  • .cn 中國
  • .com (商業機構);
  • .net(從事互聯網服務的機構);
  • .org (非贏利性組織);
  • .com.cn (國內商業機構);
  • .net.cn (國內互聯網機構);
  • .org.cn (國內非贏利性組織);
相關文章
相關標籤/搜索