🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

TL;DR:

有沒有想過為什麼你的開發伺服器總是在 localhost:3000 或 localhost:5173 上運作?

這些移植版本有著引人入勝的歷史,可以追溯到幾十年前開發者的習慣,從 Java、Python 到 Node.js 和 Vite。讓我們來揭秘它們背後的故事。


💡 埠到底是什麼?

把你的電腦想像成一棟辦公大樓,每個連接埠都是一扇通往特定「房間」(或服務)的編號門。

當你存取localhost:3000 ,你基本上是在敲門 #3000 並詢問,

“嘿,你能給我看看我的應用程式嗎?”

總共有 65,535 個可能的門(端口)。它們的分組如下:

| 範圍 | 目的 | 範例 |

|-------------|-------------------|------------------------|

| 0–1023 | 系統 / 保留 | HTTP(80),HTTPS(443),SSH(22) |

| 1024–49151 | 用戶 / 註冊用戶 | 3000, 8000, 8080 |

| 49152–65535 | 動態 / 私有 | 臨時作業系統連線 |

所以是的,連接埠3000只是數萬個有效選項之一。


⚙️ 端口 3000 - Node.js 預設端口

當 Node.js 和 Express.js 在 2010 年代初爆發時,官方文件使用了以下程式碼片段:

app.listen(3000, () => console.log('Server running on port 3000'));

這句話影響了整整一代開發人員。

教程、訓練營和樣板都逐字逐句地複製了它。

然後 React 出現了......並重新使用了它。

Next.js 出現了…並再次重複使用了它。

💬 有趣的事實:連接埠3000沒有什麼特殊原因 - 它只是任意的和無人認領的。

但熟悉就是力量。現在,3000 是 Web 開發的非官方「Hello World」移植版。


🐍 連接埠 8000 - Python 經典

早在 Node.js 出現之前,Python 開發人員就已經使用以下方式啟動本機伺服器:

python3 -m http.server

預設使用哪個連接埠?

👉 8000

無需深層推理,只需一個大於 1024 的圓形安全數字,並且不需要 root 權限。

像 Django 這樣的框架也採用了它:

Starting development server at http://127.0.0.1:8000/

因此對於 Python 開發人員來說, 8000成為了「我只是在本地測試一些東西」的首選號碼。


☕ 端口 8080 - Java 的傳奇端口

早在 1990 年代,在連接埠 80(官方 HTTP 連接埠)上執行 Web 伺服器就需要 root 存取權。

因此,從事 Apache Tomcat 和 Jetty 工作的 Java 開發人員選擇了一些聰明的方法:

80 => 8080(雙八十)

它看起來很相似,無需管理員權限即可工作,並且成為完美的 HTTP 替代品。

直到今天,Java 伺服器(例如 Spring Boot)仍然預設使用8080 。它現在成了「嚴肅的後端工作」的象徵。


⚡ 連接埠 5173 - Vite 一代

快進到 2020 年代。

Evan You(Vue.js 的建立者)介紹了 Vite,這是一個用於前端框架的超快速建置工具。

他們需要一個預設端口,而不是選擇一個無聊的數字,然後加入了這個彩蛋:

51 = “VI”(羅馬數字 'V' => 5)

73 = “那個”

5173 => “快速”

在 Vite 專案中執行npm run dev ,你會看到:

VITE v5.0 ready in 220 ms
Local: http://localhost:5173/

它很奇特、很聰明、而且令人難忘,這就是為什麼你現在隨處都能看到 5173。


🧠 您是否「錯誤」地使用了 Localhost?

這沒錯,但可能會限制自己。

許多開發人員堅持使用 3000,當他們得到以下結果時就會感到恐慌:

Error: Port 3000 already in use

實際上,您可以安全地使用任何高達 49151 的連接埠。

嘗試一些有趣的事情:

npm run dev -- --port=42069

或在 Vite 中:

vite --port=13337

您將避免衝突並獲得額外的積分。


🕰️ 一段有趣的開發歷史

每個港口都說一個故事:

8080——Java 巧妙的 HTTP 解決方法

8000 - Python 的實用簡單性

3000——Node 的意外傳統

5173 - Vite 的自我指涉復活節彩蛋

從 20 世紀 90 年代到今天,這些數字已經悄悄影響了數百萬開發人員的日常工作方式。

✨ 外賣

下次啟動開發伺服器時,您會看到:

Local: http://localhost:3000/

請記住,您正在利用跨越數十年創新的開發歷史。

因此,下次 3000 埠繁忙時,請勿直接終止該進程。

選個其他號碼吧。甚至可以把它當成你的專屬端口。 😉

您可以安全地使用 1024 到 49151 之間的任何連接埠 - 3000 並不是唯一的選擇!


原文出處:https://dev.to/safvantsy/why-everyone-uses-localhost3000-the-history-of-dev-ports-3000-8000-8080-5173-llg


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝28   💬6   ❤️7
653
🥈
我愛JS
📝1   💬11   ❤️1
76
🥉
御魂
💬1  
4
#4
2
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付