网络之同源策略

做者: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
相关文章
相关标签/搜索