Дмитрий Анашкин

Локальная ссылка перестала открываться: что такое localhost и почему он гаснет

Опубликовано 25 сент. 2026 г.10 мин чтенияНачальный
Локальная ссылка перестала открываться: что такое localhost и почему он гаснет
Туториал
Локальная ссылка перестала открываться
Дмитрий Анашкин · 10 мин
Чему вы научитесь
  • Что такое localhost и почему ссылка работает только у тебя
  • Почему сайт гаснет, когда закрываешь окно агента
  • Что такое порт и почему адрес иногда меняется
  • Почему первый запуск долгий и как его ускорить
  • Что проверить и что сказать агенту, если страница не открывается
Начальный
1просмотров

Коротко

Что такое localhost простыми словами?

Localhost - зарезервированное имя, по смыслу «этот компьютер». Когда браузер идёт по такому адресу, запрос не уходит в интернет: он разворачивается внутри твоей же машины и попадает в программу, которая на ней запущена.

Аналогия из офиса - внутренний номер телефона. Добавочный 214 соединяет с бухгалтерией в твоём здании. Если продиктовать «214» партнёру из другой компании, он дозвонится в свою бухгалтерию или никуда.

Со ссылкой так же. Пришлёшь коллеге localhost:3000 - его браузер постучится в его собственный компьютер. Там твоего сайта нет, и он увидит ошибку «не удаётся подключиться».

Именно для этого localhost и придуман: чтобы собирать и смотреть сайт у себя, не выкладывая его в сеть. Поэтому, когда агент собрал тебе прототип и дал такую ссылку, всё идёт по плану: это репетиция на твоём столе.

Почему сайт гаснет вместе с окном агента?

Ссылка гаснет, потому что вместе с окном останавливается программа, которая её обслуживала. Сам сайт - это набор файлов. Чтобы браузер их увидел, нужен посредник, который принимает запрос и отдаёт страницу. Такой посредник называется веб-сервер.

Когда ты просишь агента «запусти, я посмотрю», он выполняет команду вроде npm run dev. Она поднимает сервер разработки, и в окне появляется строка с адресом. Этот сервер - дочерний процесс окна: он запущен изнутри и зависит от него.

Механизм старый, ещё со времён терминалов, подключённых к большим машинам по линии. Когда линия обрывалась, система посылала запущенным с неё программам сигнал «отбой», и они завершались. Закрытое окно терминала сегодня работает так же.

На обучениях этот вопрос звучит почти дословно одинаково: закрыл агента, и ссылка перестала работать. Это ровно то поведение, которое заложено в устройство. Ничего не сломалось, проект лежит в папке целиком.

Что ты сделалЧто с серверомЧто с проектом
Закрыл окно или приложение агентаостановилсяфайлы на месте
Закрыл вкладку браузераработает дальшефайлы на месте
Перезагрузил компьютеростановилсяфайлы на месте
Закрыл крышку ноутбуказасыпает вместе с системойфайлы на месте

Порт: номер двери в адресе

Порт - это номер, по которому система понимает, какой из запущенных программ отдать запрос. Один компьютер - одно здание, порты - двери в нём. За дверью 3000 может ждать твой сайт, за дверью 5173 - другой проект.

У привычных сайтов номера в адресе нет, потому что он подразумевается. Для обычного веба это 80, для защищённого 443, браузер подставляет их сам. У сервера разработки номер нестандартный, поэтому пишется явно.

Разные инструменты берут разные двери. Next.js по умолчанию открывает сайт на localhost:3000, Vite - на localhost:5173. Какой инструмент под капотом у твоего проекта, агент скажет одной фразой.

Главное правило про порты: одну дверь может занимать только одна программа. Если номер уже отдан другому процессу, система откажет новому. Дальше зависит от инструмента. Vite, например, сам пробует следующий свободный номер и пишет новый адрес в окне. Отсюда частая ловушка: вчера сайт жил на 5173, сегодня на 5174, а в закладке браузера старый адрес.

Почему первый запуск идёт минуты, а следующие - секунды?

Долгий первый запуск - это установка, а не сам запуск. Проект, который собрал агент, стоит на десятках чужих готовых библиотек: для интерфейса, для базы, для работы с датами. При первом запуске они скачиваются из интернета в папку проекта, потом код собирается в то, что понимает браузер.

Дальше библиотеки уже лежат на диске, и запуск сводится к подъёму сервера. Это похоже на переезд в новый офис: в первый день завозишь мебель, а потом просто открываешь дверь утром.

На обучениях был показательный случай: запуск рабочего прототипа по одной команде каждый раз занимал около пяти минут. Сам проект при этом был в порядке и уже приносил пользу в работе. В такой ситуации первым делом стоит проверить, не ставит ли команда запуска всё заново каждый раз. Если ставит, хватает одной просьбы к агенту: вынеси установку в отдельную команду, которую я запускаю только после обновлений, а обычный запуск пусть просто поднимает сервер.

Фраза для агента

«Разведи установку и запуск. Установку я буду делать только после твоих изменений в зависимостях. Обычный запуск должен только поднимать сервер и печатать адрес. Объясни, какая команда за что отвечает».

Окно открыто, а страница не открывается: четыре причины

Открытое окно ещё не значит, что сервер жив. Программа могла упасть через секунду после старта, а окно осталось висеть с её последними словами. Поэтому первым делом читаем, что написано внизу окна, а не перезапускаем всё подряд.

Что видишь в окнеЧто это значитЧто делать
Красный текст, слово error, строка вида «at ...»сервер упал с ошибкойскопировать текст целиком и отдать агенту
Адрес с другим номером, например 5174 вместо 5173прежний порт занят, сервер ушёл на соседнийоткрыть новый адрес из окна
Адрес тот, но в браузере открыт другойопечатка или старая закладкаскопировать адрес из окна, не набирать руками
Сайт открылся, но чужой или старыйзапущен другой проект из соседней папкиспросить агента, из какой папки идёт запуск

Четвёртая причина путает сильнее всего. Если на компьютере несколько проектов, старый сервер мог остаться жить на 5173, а новый сел на 5174. В браузере ты видишь вчерашнюю версию и думаешь, что правки агента не сработали.

Про само умение читать окно я подробно писал в материале про терминал для непрограммиста. Хватает двух-трёх последних строк.

Сообщение агенту: три факта вместо «не работает»

Хорошее сообщение про упавший запуск собирается за минуту.

  1. Скопируй адрес из браузера

    Целиком, с номером порта. Так агент сразу увидит, совпадает ли он с тем, на котором поднят сервер.

  2. Перепиши, что показывает браузер

    «Не удаётся подключиться», белая страница, страница с ошибкой - это три разных диагноза.

  3. Скопируй последние строки окна

    Текстом, а не пересказом. Если там ошибка, она почти всегда называет причину.

  4. Попроси проверить, что запущено

    «Проверь, какие серверы сейчас работают на этом компьютере и из каких папок». Агент это видит за пару секунд.

Почему пересказ ошибки ломает починку и какие строки копировать, я разбирал в материале про то, как принести агенту ошибку. Там же про секреты, которые иногда уезжают в чат вместе с логом.

Как запускать проект без окна агента?

Держать открытым окно агента ради того, чтобы смотреть на свой сайт, неудобно. Выход простой: попросить агента один раз сделать тебе кнопку.

На Mac это может быть файл, который открывается двойным щелчком и сам поднимает сервер. На Windows - такой же ярлык. Внутри та же команда, что запускал агент, только запускаешь её ты, в отдельном окне. Правило прежнее: сервер живёт, пока открыто это окно.

Я видел на разборах проектов типичную сцену: человек открывает свой прототип, чтобы показать его, а страница не грузится. Проект цел, просто сервер закрылся вместе с прошлой сессией агента. Одна просьба «подними снова» возвращает всё на место, а ярлык снимает этот вопрос насовсем.

Попроси агента заодно дописать, куда смотреть, если запуск не удался. Пусть ярлык после старта печатает адрес крупно, а при ошибке не закрывает окно сразу. Иначе причина исчезнет вместе с окном.

Чем локальный запуск отличается от выкладки в интернет?

Ярлык решает проблему «чтобы посмотреть самому». Показать сайт коллеге или клиенту он не поможет: адрес по-прежнему ведёт в твой компьютер. Постоянную ссылку даёт только выкладка на сервер, её называют деплоем.

Что меняется при переезде, где жить продукту и что делать с персональными данными, я разбирал в материале о том, что делать, когда прототип готов и пора выкладывать.

Если твой проект - бот или сервис, который должен работать и ночью, пригодится разбор про то, как отвязать бота от включённого ноутбука. А ответ на частый соседний вопрос «нужен ли агент готовому приложению» - в статье про то, работает ли приложение без Claude.

Частые вопросы

Частые вопросы

Главный вывод

Локальная ссылка работает, пока работают три вещи: компьютер, окно с сервером и нужная дверь. Погасла одна - погасла ссылка, а проект остался на месте.

Практический минимум на сегодня: попроси агента развести установку и запуск и сделать тебе ярлык. Тогда смотреть на свой сайт можно будет в любой момент, не открывая агента.

А твой проект сейчас живёт только на localhost или уже выложен в интернет?

Источники

Отправь другу или себе в избранное в Telegram, чтобы не потерять.

Поделиться в Telegram
Было полезно?
Автор
Дмитрий Анашкин
Практик-интегратор ИИ в бизнес

Основатель NeuroDA и SMAIPL. Корпоративные воркшопы по ИИ, внедрение AI в бизнес-процессы.

Похожие гайды

Первая версия работает, а радости нет: почему это нормально

Первая рабочая версия почти всегда разочаровывает: вложено много, а на экране одна скромная страница. Разбираю на случае ученика, почему первый срез - это примерно четверть продукта, как попросить агента показать заложенное и спящее и что делать с его тревожными сообщениями о секретах.

8 мин

Агент собрал приложение: нужен ли ему Claude, чтобы работать

«Он работает на моём Claude или уже сам по себе?» Разбираю, чем роль агента-разработчика отличается от работы готового продукта, куда уходит код после сборки, что делать, если нейросеть нужна внутри продукта, и из чего складываются расходы после запуска.

8 мин

Идея не прошла проверку: когда пора сменить проект

Лучший результат проверки идеи иногда звучит как «нет». Разбираю на случае ученика, как тест «инструмент есть, рутины нету» остановил проект до кода, на каких трёх опорах держится сильная первая идея и почему сменить тему нужно в тот же день, а не через неделю.

8 мин

Задача повторилась третий раз: пора делать инструкцию

Первый раз ты объясняешь задачу подробно, второй короче, третий копируешь кусок старой переписки. Это сигнал: объяснение пора превращать в инструкцию, которую агент находит и применяет сам. Разбираю, что положить внутрь, почему описание важнее содержания и что оформлять не стоит.

8 мин

Связанные понятия