Почему говорят, что localhost вижу только я? Что вообще такое localhost и 127.0.0.1?
Запускаю проект, в консоли пишет что-то типа Running on http://localhost:5000. Открываю эту ссылку — у меня работает. Скидываю другу http://localhost:5000 — у него открывается что-то совсем другое или ошибка. Почему? Что такое этот localhost?
2 ответа
localhost (и его адрес 127.0.0.1) — это специальное имя, которое всегда означает «этот самый компьютер». Когда твой проект запускается на http://localhost:5000, он доступен только внутри твоего компьютера — это «локальная сеть из одного тебя».
Когда друг открывает http://localhost:5000 у себя, его браузер тоже идёт на его собственный компьютер (потому что localhost = свой комп), а не на твой. У него там твоего проекта нет — отсюда ошибка или что-то постороннее.
Число после двоеточия (:5000) — это порт, как номер двери на компьютере, через которую отвечает твоя программа.
Чтобы проект увидели другие, его нужно выложить в интернет — на хостинг с публичным адресом (GitHub Pages для статики, PythonAnywhere/Replit для серверного кода). Тогда у него будет https://...-адрес, доступный всем, а не только тебе.
Для быстрой временной демонстрации (показать другу прямо сейчас, не деплоя по-настоящему) есть инструменты вроде ngrok: они делают временный публичный адрес, который ведёт на твой localhost. Но это костыль для показа — на постоянку всё равно нужен нормальный хостинг, потому что туннель живёт, только пока запущен у тебя.