برنامه‌نویسی و توسعه نرم‌افزارفریم‌ورک‌ها و زبان‌ها
موضوعات داغ

چرا همه از localhost:3000 استفاده می‌کنند؟ تاریخچه پورت‌های محبوب توسعه‌دهندگان؛ از 3000 تا 5173

آیا تا حالا از خودتان پرسیده‌اید چرا توسعه‌دهندگان تقریباً هر پروژه‌ی برنامه‌نویسی را با آدرسی مثل localhost:3000 یا localhost:5173 اجرا می‌کنند؟
این شماره‌ها اتفاقی انتخاب نشده‌اند، پشت هرکدام تاریخی نهفته است که از دهه‌ها پیش و از دوران Java و Python تا Node.js و Vite ادامه دارد. بیایید ببینیم این اعداد از کجا آمده‌اند و چرا هنوز با ما هستند.

پورت چیست؟

کامپیوترتان را مثل یک ساختمان اداری در نظر بگیرید، هر پورت یک «درب شماره‌دار» است که به یک سرویس خاص منتهی می‌شود.

وقتی آدرس localhost:3000 را در مرورگر می‌زنید، در واقع دارید درب شماره‌ی ۳۰۰۰ را می‌کوبید و می‌پرسید:
«سلام، اپ من آماده است؟»

محدوده پورتکاربردمثال
0–1023پورت‌های سیستمی / رزرو‌شدهHTTP(80)، HTTPS(443)، SSH(22)
1024–49151پورت‌های کاربر / ثبت‌شده3000، 8000، 8080
49152–65535پورت‌های موقت / خصوصیارتباطات لحظه‌ای سیستم‌عامل

پس بله، پورت 3000 فقط یکی از هزاران درب ممکن است، اما داستان جالبی پشت آن پنهان است.

پورت 3000؛ میراث Node.js

اوایل دهه‌ی ۲۰۱۰، وقتی Node.js و Express.js به اوج محبوبیت رسیدند، مستندات رسمی این مثال را نشان می‌دادند:

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

همین یک خط، عادت نسل کاملی از توسعه‌دهندگان را شکل داد. تقریباً همه‌ی آموزش‌ها، بوت‌کمپ‌ها و قالب‌های آماده همین شماره را تکرار کردند.

بعد React آمد، از همان استفاده کرد.
Next.js آمد، باز هم همان پورت را نگه داشت.

هیچ دلیل خاصی وجود نداشت، فقط یک عدد ساده و خالی بود. اما تکرار مداومش باعث شد پورت 3000 به نماد Hello World” توسعه وب تبدیل شود.

پورت 8000؛ انتخاب کلاسیک پایتون

قبل از آنکه Node متولد شود، توسعه‌دهندگان پایتون با دستور زیر سرور محلی‌شان را بالا می‌آوردند:

python3 -m http.server

و پورت پیش‌فرضش چه بود؟ 8000

نه فلسفه‌ای داشت و نه داستانی خاص — فقط عددی ساده، امن و بالاتر از ۱۰۲۴ که نیاز به دسترسی root نداشت.

بعدتر، فریم‌ورک‌هایی مثل Django هم آن را به‌عنوان پیش‌فرض برگزیدند:

Starting development server at http://127.0.0.1:8000

از آن زمان، پورت ۸۰۰۰ تبدیل شد به عددی آشنا برای هر کسی که می‌خواست پروژه‌ای را به‌صورت محلی تست کند.

پورت 8080؛ افسانه‌ی جاوا

در دهه‌ی ۹۰ میلادی، اجرای سرور روی پورت رسمی HTTP یعنی ۸۰ نیاز به دسترسی مدیر سیستم داشت. توسعه‌دهندگان جاوا که روی Apache Tomcat و Jetty کار می‌کردند، تصمیم هوشمندانه‌ای گرفتند:

80=>8080 (double eighty)

این عدد هم شبیه پورت اصلی بود، هم بدون نیاز به دسترسی ریشه کار می‌کرد. به‌مرور، پورت 8080 تبدیل شد به پورت نمادین برنامه‌نویسان جدی بک‌اند و جاواکارها. حتی امروز هم بسیاری از سرورهای جاوا (مثل Spring Boot) به‌صورت پیش‌فرض روی همین پورت اجرا می‌شوند.

پورت 5173؛ شوخی هوشمندانه‌ی Vite

در دهه‌ی ۲۰۲۰، با معرفی ابزار Vite توسط «اِوان یو» (خالق Vue.js)، نسل تازه‌ای از ابزارهای توسعه سریع پدید آمد.
تیم Vite می‌خواست یک پورت پیش‌فرض جدید انتخاب کند و به‌جای عددی تصادفی، یک شوخی جالب در آن گنجاند:

51 = “VI” (Roman number 'V' => 5)
73 = “TE”
5173 => “VITE”

به همین دلیل است که وقتی در پروژه Vite می‌زنید:

npm run dev

می‌بینید که در خروجی نوشته شده:

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

عدد 5173 حالا تبدیل شده به امضای فرهنگی Vite، عددی خاص، شوخ و ماندگار.

آیا استفاده از localhost:3000 اشتباه است؟

نه اشتباه، اما شاید محدودکننده باشد. بسیاری از توسعه‌دهندگان فقط از 3000 استفاده می‌کنند و وقتی خطای زیر را می‌بینند وحشت می‌کنند:

Error: Port 3000 already in use

در حالی که هر پورتی بین 1024 تا 49151 مجاز و ایمن است. می‌توانید هر عدد دلخواهی را انتخاب کنید، مثلاً:

npm run dev -- --port=42069

یا در Vite:

vite --port=13337

به این ترتیب هم از تداخل پورت‌ها خلاص می‌شوید و هم کمی «شخصیت مخصوص خودتان» را به پروژه می‌دهید.

تاریخچه‌ای در چند عدد

هر پورت، داستان خودش را دارد:

  • 8080 → راه‌حل هوشمند جاوا برای دور زدن محدودیت HTTP
  • 8000 → انتخاب ساده و بی‌دردسر پایتون
  • 3000 → عادت تصادفی Node.js که به سنت تبدیل شد
  • 5173 → تخم‌مرغ شانسی خلاقانه‌ی Vite

از دهه‌ی ۹۰ تا امروز، همین چند عدد کوچک بخشی از فرهنگ روزمره‌ی توسعه‌دهندگان سراسر دنیا شده‌اند.

نتیجه‌گیری

دفعه‌ی بعد که سرورتان روی localhost:3000 بالا آمد، به یاد بیاورید که این فقط یک عدد نیست، بخشی از تاریخچه‌ی توسعه‌ی وب است که از جاوا تا جاوااسکریپت ادامه پیدا کرده.

و اگر روزی پورت 3000 مشغول بود، فقط یک عدد جدید انتخاب کنید، شاید این عدد، امضای شخصی شما شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا