“本地主机”、主机和端口的全部意义是啥?
Posted
技术标签:
【中文标题】“本地主机”、主机和端口的全部意义是啥?【英文标题】:What's the whole point of "localhost", hosts and ports at all?“本地主机”、主机和端口的全部意义是什么? 【发布时间】:2010-12-29 02:33:12 【问题描述】:我对这个网络开发的东西完全陌生。所以我总是看到像“localhost”这样的东西,然后问自己:那是什么?
我觉得知道“主机”到底是什么。执行某事的某事。因此,我的 mac 是在其上运行的所有内容的主机。所以“localhost”实际上只是我的mac?我还可以有其他主机吗?像“其他主机”或“更好的主机”?
所以当我在浏览器中写入:http://localhost:80/mysite/index.php 时,这个“本地主机”会告诉浏览器在我的机器上而不是在线上查找这些内容?
也许有人可以澄清一下:-)
【问题讨论】:
【参考方案1】:在计算机网络中,localhost(意思是“这台计算机”)是给回环网络接口地址的标准主机名。
Localhost 始终转换为 IPv4 中的环回 IP 地址 127.0.0.1。
它也用于代替计算机的主机名。例如,将安装在运行 HTTP 服务器的系统上的 Web 浏览器定向到 http://localhost 将显示本地网站的主页。
来源:Wikipedia - Localhost。
:80
部分是 TCP 端口。您可以将这些端口视为特定 IP 地址(在 localhost - 127.0.0.1 的情况下)上的通信端点。 IANA 负责维护特定服务的标准端口号的官方分配。端口 80 恰好是 HTTP 的标准端口。
【讨论】:
+1。很好的解释。我特别喜欢 SO 将localhost 变成一个链接的方式,该链接将解析到每个读者自己的计算机:-) 是否还有其他好的端口可以托管本地网站,即我已经在:80
上运行了一个
@thomas 您可以在浏览器中执行 localhost:8087 以获取端口 8087。除了浏览器自动连接的端口之外,没有“好端口”【参考方案2】:
" 在计算机网络中,网络主机、Internet 主机、主机或 Internet 节点是连接到 Internet 的计算机 - 或更一般地说 - 连接到任何类型的数据网络。网络主机可以托管信息资源以及应用程序提供网络服务的软件。"-***
本地主机是给本地机器或您正在处理的机器的特殊名称,通常它的 IP 地址是 127.0.0.1。但是,您可以将其定义为任何内容。
每个主机上运行着多个网络服务,例如 Apache/IIS(Http Web 服务器)、邮件客户端、FTP 客户端等。每个服务都有一个与之关联的特定端口。你可以这样想。
每个家庭都有一个邮箱和多个人。邮箱是主机。您自己的家庭邮箱是 localhost。家里的每个人都有一个房间。该人的所有信件都发送到他的房间,因此房间号是一个端口。
【讨论】:
【参考方案3】:端口:简单来说,“端口”是特定软件用来识别其来自互联网的数据的数字。
每个软件,如 Skype、Chrome、Youtube 都有自己的端口号,这就是他们知道哪些互联网数据是自己的。
Socket:“IP地址和端口”合称为“Socket”。另一台计算机使用它向特定计算机的特定软件发送数据。
IP地址用于识别计算机,端口用于识别IE、Chrome、Skype等软件
每个家庭都有一个邮箱和多个人。邮箱是主机。您自己的家庭邮箱是 localhost。家里的每个人都有一个房间。该人的所有信件都发送到他的房间,因此房间号是一个端口。
【讨论】:
【参考方案4】:似乎每个人都专注于您问题的主体部分。端口用于能够从同一台机器(一个 IP 地址)运行多个服务器(例如用于不同目的,例如文件共享、Web 服务、打印等)。
【讨论】:
【参考方案5】:是的,本地主机只是意味着您正在与您当前使用的同一台机器上的网络服务器交谈。
通过其 IP 地址或给定名称联系其他服务器。
【讨论】:
【参考方案6】:本地主机通常是指您正在查看的机器。在大多数机器上,localhost 解析为 IP 地址 127.0.0.1,即环回地址。
【讨论】:
【参考方案7】:某些数据库设计为使用 Internet 号码分配机构 (IANA) 分配的端口通过 Web 进行通信,并且在个人 PC 上运行时使用带有 localhost 的端口。一些带有默认端口的常见数据库(默认值通常可以被覆盖):
港口数据库
1433 微软 SQL 服务器 https://support.microsoft.com/en-us/kb/287932
3306 mysql https://dev.mysql.com/doc/refman/4.1/en/connecting.html
5432 PostgreSQL
1527 Apache Derby(数据库)
一些网络服务器和数据库配对在一起,例如 Apache/MySQL(如在 LAMP 或 XXAMP 中)或 MS Internet Information Server (IIS)/MS SQL Server (IIS/SQL Server),在这种情况下您必须关注数据库和网络服务器的端口——一个常见的例子是使用 Apache/MySQL 的 WordPress。
【讨论】:
【参考方案8】:好吧,其他人已经对“本地主机”给出了很好的定义。
它实际上是本地 IP 127.0.0.1 的文本表示。
如果您使用可以将其转换为工作 IP 地址的 DNS 服务器,或者通过修改主机文件,您可以拥有 'betterhost'、'otherhost'、'someotherhost'。但这是另一天或更美好的一天的另一个话题。 :P
【讨论】:
【参考方案9】:关于betterhost之类的问题,见host;基本上每个 IP 地址都是一个主机。
我建议你从主机开始阅读,而不是继续阅读 localhost(这是一种主机)
【讨论】:
【参考方案10】:我听到了一个很好的描述(比喻),它将港口说明为大型建筑物的不同交付点,例如。信件和小包裹的邮局,大宗货物/托盘的货物进站,人员的门。
【讨论】:
以上是关于“本地主机”、主机和端口的全部意义是啥?的主要内容,如果未能解决你的问题,请参考以下文章