127.0.0.1和localhost是否被浏览器视为两个不同的域,因此强制执行跨域(相同的源策略)限制?
我发现它可以在某个时候运行(如果是简单的网页),并且不适用于基于Flex的网页。
例如: 情景I: 在名为page1.htm的网页中,您可以按如下方式调用脚本:
<script type="text/javascript" src="js/somejsscript.js"></script>
或
<script type="text/javascript" src="http://localhost/js/somejsscript.js"></script>
的身份访问该页面
情景二: 您可以按如下方式调用脚本:
<script type="text/javascript" src="http://127.0.0.1/js/somejsscript.js"></script>
的身份访问该页面
答案 0 :(得分:7)
Origin被定义为方案/主机/端口(如果方案不存在,则端口是方案的默认值,例如http为80的端口,https为443)。同源被定义为匹配方案/主机/端口。在这种情况下,“localhost”和“127.0.0.1”是不同的主机。见http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules
答案 1 :(得分:4)
是的,这些是用于网络安全目的的不同来源;没有浏览器将它们等同起来技术上,“localhost”可以指向任何地方,并且通常(在现代系统上)它指向IPv6而不是IPv4。