網絡之同源策略

做者:zhangljavascript

瀏覽器有一個很重要的概念 -- 同源策略(Same-Orign Policy), 所謂的同源是指協議域名端口相同,不一樣源的客戶端腳本在沒有受權的狀況下,不能讀寫對方的資源java

  • URL(統一資源定位符)的組成
例: http://localhost:8080/a/b/c?a=1&b=2#abc
1. 協議(protocol) http
2. 域名(domain) localhost
3. 端口(port) 8080
4. 路徑(path) a/b/c
5. 參數(search) ?a=1&b=2
6. 哈希值(hash) #abc
複製代碼
  • 域名(解析規則:從後往前解析)瀏覽器

    • .com 頂級域名
    • xxx.com (一) 二級域名[中國地區默認添加.cn頂級域名]
    • xx.xxx.com (二) 三級域名
    • www 二級域名前綴,表示萬維網維護
    • www.xxx.com 屬於特殊的三級域名
  • www使用緣由cookie

    • 不使用www前綴的域名,咱們稱之爲裸域名
    • 裸域名只能有DNS A記錄(解析ip)
    • 非裸域名具備DNS A記錄(解析ip)和 DNS C記錄(給該域名起個別名)
    • 裸域名的cookie做用域範圍大,更容易被攻擊
    • 尊重用戶習慣
DNS A記錄
www.baidu.com --> ip
baidu.com --> ip

DNS C記錄
www.baidu.com --> ip
baidu.com --> 做爲www.baidu.com的別名
複製代碼
  • 端口(把IP比做房間,那麼端口就是房間門,每扇門對應不一樣的服務)dom

    • http的默認端口爲8080; https的默認端口爲443
  • 同源URL比較url

  • 例子: www.example.com/userspa

url 同源
www.example.com/demo Y
www.example.com:8081/demo N
www.example.com/user N
www.exampler.com/user N
相關文章
相關標籤/搜索