关于跨域

来源:互联网 发布:深夜前的五分钟 知乎 编辑:程序博客网 时间:2024/06/12 19:49

1、什么是协议,域名,端口?


假如一个网址是  http://baidu.com:8080?user=name&pwd=password
    http://   是协议   
    baidu.com  是域名(注意:前面加上“wwww”即www.baidu.com不是域名)
    8080  是端口    

    user=name&pwd=password   是地址带的参数


2、ip地址和域名的关系

     我们也知道每一台机都有一个唯一ip地址,特别难记,所以出现了今天的DNS(域名)

    当我们的计算机想要和一个远程机器连接时,我们可以申请连接该机器ip地址下的DNS,例如:www.baidu.com。

    连接的时候,DNS会提供一个ip地址,供服务器去找寻。所以,当我们在网址中输入:www.baidu.com,会获取到百度ip,并跳转页面

        2.1.比如说:我们现在在"陕西省西安市大雁塔喷泉旁",那么这个"陕西省西安市大雁塔喷泉旁"就是一个域名,而具体的这个唯一的地方(陕西省西安市大雁塔喷泉旁)就是一个IP地址,它是网络层地址,用来识别TCP/IP网络中互联的主机和路由器。(推荐一本书《图解TCP/IP》)

        2.2.域名是相对于网站来说的,ip地址是相对于网络来说的,准确的说是通过dns服务器来完成的,你提交域名,他给你返回一个ip地址,也称之为域名解析),接着做出一个相应,将信息返回。

    也就是:输入域名----域名解析服务器(dns)解析成ip地址---访问IP地址---完成访问的内容---返回信息

        2.3.表示方法也不一样:域名是www.***.***(如.com .top .win……) IPv4地址是:32位二进制(分割成4个8位的点分十进制数)

        2.4.映射关系不同

       internet上的ip地址是唯一的,一个IP地址对应一个计算机。

       也就是说通常情况下一个域名同一时刻只能对应一个IP地址。但是在域名服务商那里,你可以把服务器群里面的多个提供相同服务的服务器IP设置一个域名可以轮询。但是同一时刻,一个域名只能解析出一个IP供你使用。这些IP可以轮流着被解析。

这些IP其实对应的服务器提供的是同一种的服务。

       2.5 三次握手

        Tcp/Ip有3次握手:第一次握手:客户端向服务器端发送SYN包(syn=j),进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,确认SYN,此时syn=j+1,同时发送一个SYN包(syn=k)即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到SYN+ACK包,向服务器发送ACK确认包,此时客户端和服务器端均进入ESTABLISHED状态。
其中有一个半连接状态:服务器维护一个半连接队列,该队列卫每个客户端SYN包开设一个条目,标明服务器已经接到SYN包,并向客户端发出确认,这些条目表示的连接处于SYN_RECV状态,得到客户端的确认后进入ESTABLISHED状态。


3、什么一级域名?

    一级域名又称为顶级域名,大家需要注意的是, www.iisp.com这种形式的域名并不是一级域名,他只是一个二级域名,也就是说www只是一个主机名。
    真正的一级域名是由一个合法字符串+域名后缀组成。所以,iisp.com这种形式的域名才是一级域名。iisp是域名主体,.com是域名后缀。可以是.net域名后缀,也可以是.hu域名后缀等。

4、什么是二级域名?

   所谓的二级域名实际上就是一个一级域名下面的主机名。顾名思义,他是在一级域名前面加上了一个字符串,比如asdx.iisp.com.,他可以拥有根顶级域名同样的功能。并且通过设置,可以拥有和根顶级域名完全一样的功能。但这里并不是说一级域名和二级域名完全没有差别!


最后解释跨域:
      所谓跨域:就是跨域名,跨端口,跨协议。

    URL                                                            说明                                                    是否允许通信
    http://www.a.com/a.js
    http://www.a.com/b.js                             同一域名下                                                        允许
    http://www.a.com/lab/a.js
    http://www.a.com/script/b.js                   同一域名下不同文件夹                                        允许
    http://www.a.com:8000/a.js
    http://www.a.com/b.js                            同一域名,不同端口                                           不允许
    http://www.a.com/a.js
    https://www.a.com/b.js                           同一域名,不同协议                                          不允许
    http://www.a.com/a.js
    http://70.32.92.74/b.js                           域名和域名对应ip                                                不允许
    http://www.a.com/a.js
    http://script.a.com/b.js                             主域相同,子域不同                                         不允许
    http://www.a.com/a.js
    http://a.com/b.js                                  同一域名,不同二级域名(同上)       不允许(cookie这种情况下也不允许访问)
    http://www.cnblogs.com/a.js
    http://www.a.com/b.js                                不同域名                                                           不允许

原创粉丝点击