自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

localhost 和 127.0.0.1 有什么區(qū)別?

開發(fā) 前端
localhost 和 127.0.0.1 都可以用來表示本地計(jì)算機(jī),但它們的表示方式和解析方式不同。

當(dāng)前端開發(fā)人員在本地調(diào)試時,他們經(jīng)常與本地主機(jī)交互,只需運(yùn)行npm run在瀏覽器中打開他們的網(wǎng)頁,地址欄顯示類似http://localhost:xxx/index.html.

在運(yùn)維查看ip的時候,會看到有一個127.0.0.1的地址。

那么他們兩者之間有什么區(qū)別呢?

什么是本地主機(jī)(localhost)

localhost 是一個域名,除了便于記憶之外,與用于訪問互聯(lián)網(wǎng)的域名本質(zhì)上沒有什么不同。

localhost 的范圍僅限于本地機(jī)器——它的名字很清楚:“本地”指的是本地范圍內(nèi)的東西。

每個人都可以在各自的計(jì)算機(jī)上使用 localhost,訪問各自的頁面內(nèi)容,而不會互相干擾。

從域名到程序

要真正理解localhost,我們需要討論用戶如何通過域名訪問程序, 以百度為例。

(1) 在瀏覽器中輸入baidu.com后,首先向DNS查詢baidu.com的IP地址。

為什么是IP地址?打個比方,如果有人向您的公司發(fā)送包裹,遞送單將包括公司的地址、名稱和收件人等詳細(xì)信息。投遞過程依賴于地址進(jìn)行路由,最終到達(dá)收件人。同樣,在網(wǎng)絡(luò)中,域名就像公司名稱,IP 地址就像物理地址。在網(wǎng)絡(luò)世界中,IP 地址對于定位相應(yīng)的程序至關(guān)重要。DNS 的作用就像一個公司目錄,列出每個域?qū)?yīng)的 IP 地址。有些域名可能未注冊,導(dǎo)致其 IP 地址無法找到,而另一些域名可能有多個 IP 地址,DNS 根據(jù)某些規(guī)則自動返回一個 IP 地址。購買域名后,域名服務(wù)提供商通常會提供 DNS 解析服務(wù),在 DNS 中注冊域名及其對應(yīng)的 IP 地址。IP地址從哪里來?每臺在線計(jì)算機(jī)都有一個IP地址,但個人計(jì)算機(jī)IP通常不適合公共訪問,類似于公司內(nèi)部位置,內(nèi)部人員清楚,外部人員則不清楚。對于 Baidu 提供的外部服務(wù),需要公共 IP 地址,通常由互聯(lián)網(wǎng)服務(wù)提供商提供。例如,如果您的公司使用中國聯(lián)通訪問互聯(lián)網(wǎng),您可以讓他們?yōu)槟镜木W(wǎng)關(guān)服務(wù)器分配一個公共IP地址。網(wǎng)關(guān)服務(wù)器就像一個交換機(jī),處理所有內(nèi)部網(wǎng)絡(luò)通信,并設(shè)置轉(zhuǎn)發(fā)規(guī)則以將傳入請求路由到適當(dāng)?shù)姆?wù)器。

(2) 有了IP地址,瀏覽器向該地址發(fā)送請求,由操作系統(tǒng)將請求封裝成IP數(shù)據(jù)包,然后通過網(wǎng)絡(luò)進(jìn)行傳輸。網(wǎng)絡(luò)的路由協(xié)議基于提供的 IP 地址并通過各種路由器,最終到達(dá)綁定到該 IP 的計(jì)算機(jī)。

(3) 一臺計(jì)算機(jī)上可能部署多個網(wǎng)絡(luò)應(yīng)用程序。哪一個應(yīng)該收到請求?這就是端口發(fā)揮作用的地方。每個網(wǎng)絡(luò)應(yīng)用程序都可以綁定到一個或多個端口,系統(tǒng)可以防止重疊。在請求中指定端口會將其路由到正確的網(wǎng)絡(luò)應(yīng)用程序。

但是當(dāng)我們訪問Baidu時,我們并沒有指定端口。這是因?yàn)樵谖粗付ǘ丝跁r,將使用默認(rèn)端口(HTTP 為 80,HTTPS 為 443)。啟動網(wǎng)絡(luò)程序時必須綁定端口,盡管某些框架會自動選擇計(jì)算機(jī)上未使用的端口。

localhost 和 127.0.0.1 有什么區(qū)別?

有了上面的基礎(chǔ)知識,我們就很容易理解這個問題了。如前所述,localhost 是一個域名。

127.0.0.1 怎么樣?它是一個IP地址,當(dāng)前機(jī)器的本地IP地址,只能在本機(jī)本身使用。您的計(jì)算機(jī)無需連接互聯(lián)網(wǎng)即可使用該IP地址,方便開發(fā)和測試網(wǎng)絡(luò)程序。我們調(diào)試的程序都是綁定到這個IP地址的。

值得注意的是,我們常見的IP地址的格式為XXXX,以點(diǎn)分為四段。實(shí)際上,它是一個 32 位二進(jìn)制數(shù),分為四個 8 位段,然后轉(zhuǎn)換為十進(jìn)制數(shù)進(jìn)行顯示。

該解決方案由每臺計(jì)算機(jī)單獨(dú)處理。每臺計(jì)算機(jī)上都有一個主機(jī)文件(/etc/hosts),其中包含一些硬編碼的 DNS 解析規(guī)則,包括將 localhost 解析為 127.0.0.1 的規(guī)則,這是一種約定。

如果您不想使用 localhost,也沒關(guān)系。您可以將其命名為任何名稱,例如 wodehost,并將其解析為 127.0.0.1。

您甚至可以使用 baidu.com,但它僅供您自己使用,不會影響其他任何人。

總結(jié)

localhost 和 127.0.0.1 都是用于指向本地計(jì)算機(jī)的地址,但它們之間存在一些差異:

(1) 表示方式:

  • localhost 是一個域名,它代表本地計(jì)算機(jī)。
  • 127.0.0.1 是一個ip地址,也代表本地計(jì)算機(jī)。

(2) 解析方式:

  • localhost 被DNS解析成 127.0.0.1,即本地計(jì)算機(jī)的IP地址。
  • 127.0.0.1 是一個環(huán)回地址,它總是指向本地計(jì)算機(jī),不需要經(jīng)過DNS解析。

(3) 網(wǎng)絡(luò)傳輸:

  • localhost 不經(jīng)過網(wǎng)卡傳輸,不受網(wǎng)絡(luò)防火墻和網(wǎng)卡限制。
  • 127.0.0.1 依賴于網(wǎng)卡,會受到防火墻和網(wǎng)卡的限制。

(4) 應(yīng)用場景:

  • localhost 通常用于本地服務(wù),因?yàn)樗粫馕龀蒊P,也不會占用網(wǎng)卡、網(wǎng)絡(luò)資源,因此在某些情況下使用localhost可能會更方便快捷。
  • 127.0.0.1 也可以用來表示本地計(jì)算機(jī),但在某些情況下,使用localhost可能會比使用127.0.0.1更方便,因?yàn)樗梢员苊釪NS解析的開銷。

(5) 特殊用途:

  • 在Linux上,當(dāng)使用 localhost 來連接數(shù)據(jù)庫的時候,Mysql會使用Unix domain socket來傳輸數(shù)據(jù),這是一種進(jìn)程內(nèi)通信(IPC)機(jī)制,不需要經(jīng)過網(wǎng)絡(luò)協(xié)議棧,因此速度會更快。而使用 127.0.0.1 時,Mysql仍然會使用TCP/IP協(xié)議棧來進(jìn)行數(shù)據(jù)傳輸。

綜上所述,localhost 和 127.0.0.1 都可以用來表示本地計(jì)算機(jī),但它們的表示方式和解析方式不同。

責(zé)任編輯:趙寧寧 來源: 云原生運(yùn)維圈
相關(guān)推薦

2024-05-27 00:40:00

2024-03-05 18:19:07

localhostLinux數(shù)據(jù)庫

2024-05-27 00:00:00

localhostIPv6IPv4

2024-04-12 00:00:00

localhost計(jì)算機(jī)機(jī)制

2018-06-08 11:28:44

MySQLlocalhost127.0.0.1

2021-12-17 14:40:02

while(1)for(;;)語言

2022-08-02 08:23:37

SessionCookies

2022-02-27 15:33:22

安全CASBSASE

2024-09-09 13:10:14

2021-05-16 14:26:08

RPAIPACIO

2020-03-09 20:56:19

LoRaLoRaWAN無線技術(shù)

2022-09-07 18:32:57

并發(fā)編程線程

2020-11-09 14:07:53

PyQtQt編程

2022-06-06 14:53:02

LoRaLoRaWAN

2022-09-08 18:38:26

LinuxWindowsmacOS

2024-09-12 15:28:38

localhost?網(wǎng)絡(luò)IPv4

2022-08-31 08:33:54

Bash操作系統(tǒng)Linux

2023-12-15 09:21:17

ObjectJavaString

2022-08-22 07:06:32

MyBatisSQL占位符

2025-03-10 09:30:00

SpringJava開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號