127.0.0.1和localhost是否被浏览器视为两个不同的域?

Vij*_*jey 4 cross-domain same-origin-policy

127.0.0.1和localhost是否被浏览器视为两个不同的域,因此强制执行跨域(相同的源策略)限制?

我发现它有时可以工作(如果是简单的网页),并且不适用于基于Flex的网页.

例如:场景I:在名为page1.htm的网页中,您调用脚本如下:

<script type="text/javascript" src="js/somejsscript.js"></script>
Run Code Online (Sandbox Code Playgroud)

要么

<script type="text/javascript" src="http://localhost/js/somejsscript.js"></script>
Run Code Online (Sandbox Code Playgroud)

并以http://localhost/page1.htm的身份访问该页面

场景二:您调用脚本如下:

<script type="text/javascript" src="http://127.0.0.1/js/somejsscript.js"></script>
Run Code Online (Sandbox Code Playgroud)

并以http://localhost/page1.htm的身份访问该页面

mon*_*sur 7

Origin被定义为方案/主机/端口(如果方案不存在,则端口是方案的默认值,例如,http为端口80,为https为443).同源被定义为匹配方案/主机/端口.在这种情况下,"localhost"和"127.0.0.1"是不同的主机.见http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules


Eri*_*Law 5

是的,这些是出于 Web 安全目的的不同来源;没有浏览器将它们等同。从技术上讲,“本地主机”可以指向任何地方,通常(在现代系统上)它指向 IPv6 而不是 IPv4。