了解 localhost:8080 和 127.0.0.1 之间的区别

Understanding the difference between localhost:8080 and 127.0.0.1

提问人:Beastmode7843 提问时间:11/26/2019 更新时间:11/17/2023 访问量:12947

问:

我正在尝试为我正在制作的网站创建一个自动完成搜索栏,但我一直遇到同样的问题。当我启动提示 127.0.0.1:..../.../.../ 的 Brackets 实时预览时,它的功能应有尽有,但是当我按下将我路由到 localhost:8080/.../.../ 的主页按钮时,它似乎没有运行代码。我认为这与jQuery调用有关,告诉函数在哪种情况下运行,但我不完全确定。我正在使用 XAMPP。

function autocomplete(inp, arr) { ... }

为什么会这样?

你能解释一下两者之间的区别吗?

JavaScript jQuery 服务器 localhost

评论

0赞 Pointy 11/26/2019
localhost通常是地址,但该部分表示连接到端口 8080 而不是默认端口 80。127.0.0.1:8080
0赞 Pointy 11/26/2019
所以是一样的localhost:8080127.0.0.1:8080
0赞 Shilly 11/26/2019
127.0.0.1:8080将与 相同,而不是普通的。端口 8080 是一个流行的端口,用于托管 angular 应用程序、nodeJS 脚本等内容。localhost:8080127.0.0.1
0赞 Beastmode7843 11/26/2019
@Pointy @Shilly好吧,这是有道理的。当括号启动实时预览时,URL 会显示为什么自动完成在该地址有效,但不能 我可以提供任何其他信息来提供帮助吗?http://127.0.0.1:49684/.../.../ http://localhost:8080/.../.../
1赞 Pointy 11/26/2019
Web 服务器通常只侦听一个端口。您的数字地址似乎使用的是端口 49684,而不是端口 8080。“港口”就像酒店的房间号:酒店本身有一个街道地址,但当你租一个房间时,你会得到一个特定的房间号

答:

0赞 Marcos Santiago Villanueva 11/26/2019 #1

我认为这可以帮助你。简历:

如果您使用 127.0.0.1,那么(智能)软件只会将其直接转换为 IP 地址并使用它。的一些实现将检测点分格式(大概是等效的 IPv6 格式),并且根本不进行查找。gethostbyname

此答案的副本*

0赞 Dipak Mallick 11/26/2019 #2

当您使用 ip 访问站点时,您没有使用端口 8080,因此我假设您的站点正在侦听端口 80。您可以尝试仅在没有端口号的情况下 http://localhost

评论

0赞 Beastmode7843 11/26/2019
我尝试使用 localhost 及其返回 未找到 在此服务器上找不到请求的 URL。该项目位于我的 htdocs 文件夹中。
0赞 Dipak Mallick 11/26/2019
你能检查你的主机文件吗,应该有一个条目,如 127.0.0.1 localhost 主机文件可以在 windows\driver\etc 文件夹中找到
0赞 Beastmode7843 11/27/2019
我对软件开发很陌生。我正在使用 XAMPP 网络。我不完全确定主机文件在哪里/是什么?
0赞 Dipak Mallick 11/27/2019
在 Linux 上 - /etc/hosts
0赞 Dipak Mallick 11/27/2019
在 Windows 上 - Windows 的主机文件位于 C:\Windows\System32\Drivers\etc\hosts 中。
0赞 Robert McKee 11/26/2019 #3

localhost 通常会解析为 127.0.0.1,但并非总是如此。

在正常配置中,localhost 将指向 127.x.x.x 范围内的地址(通常为 127.0.0.1),如果使用 IPv6,则指向 ::1 或类似地址。一些应用程序实现实际上专门处理 localhost,并且在使用时可以使用 IP 堆栈以外的其他东西(如共享内存等)触发连接。某些 IP 堆栈不会将 localhost 视为特殊名称,您可以手动将其解析为所需的任何 IP 地址。例如,通过将条目放入 hosts 文件中。

但是您的问题是,当您使用 localhost 时,您指定了端口 8080,而当您使用 127.0.0.1 时,您没有指定端口,该端口默认为 80 或 443,具体取决于您使用的是 http 还是 https 前缀。

127.0.0.1(通常)等同于 localhost 127.0.0.1:8080(通常)等同于 localhost:8080

评论

0赞 Beastmode7843 11/27/2019
当我启动 Brackets 实时预览时,它使用 127.0.0.1:(随机端口)。如何指定端口 127.0.0.1: 8080?当我单击我的主页按钮时,它会将我引用到我的主页,即 localhost:8080,因为这是我下载的 XAMPP 网络运行的内容。我仍然不完全理解为什么自动完成在 localhost:8080 上不起作用,但在 127.0.0.1:(随机端口)上起作用。JavaScript 文件的其他功能工作正常,为什么不这个呢?对不起,如果这是多余的,但作为新开发人员有点难以理解。