Ошибка 401 значит, что сервер не пустил посетителя без логина и пароля. Страница существует, но сперва нужно представиться. Так закрывают админки, тестовые копии и личные кабинеты. В нашей проверке сайтов Екатеринбурга код 401 означал другое.
Что говорит стандарт
Код описан в RFC 9110, действующем стандарте HTTP:
The 401 (Unauthorized) status code indicates that the request has not been applied because it lacks valid authentication credentials for the target resource.
Запрос не выполнен: в нём нет действующих данных для
входа. Следом — обязательное условие: сервер, отдающий 401,
«MUST send a WWW-Authenticate header field». Этот заголовок сообщает
браузеру способ входа, например Basic realm="admin". Увидев его, браузер
показывает окно с полями «Имя пользователя» и «Пароль».
Чем 401 отличается от 403
Про 403 стандарт пишет: сервер «understood the request but refuses to fulfill it» — понял запрос и отказывает. Причина отказа может быть «unrelated to the credentials», не связан с данными для входа.
| 401 | 403 | |
|---|---|---|
| Смысл | представьтесь | нельзя |
| Поможет логин и пароль | да, если верные | не обязательно |
| Обязательный заголовок | WWW-Authenticate | нет |
| Что делает браузер | спрашивает пароль, если есть заголовок | показывает страницу ошибки |
Подробно про 403 и то, кому сайты отказывают, — в статье ошибка 403.
Проверка на стенде: когда браузер спрашивает пароль
Мы собрали два адреса на тестовом сервере. Оба отдают 401: первый — с заголовком WWW-Authenticate: Basic, второй — без него.
Каждый открыли в Chrome трижды: без пароля, с неверным и с верным.
| Адрес | Без пароля | Неверный пароль | Верный пароль |
|---|---|---|---|
| 401 с заголовком | 401 | 401 | 200, страница открылась |
| 401 без заголовка | 401 | 401 | 401 |
Журнал сервера объясняет разницу. На адрес с заголовком браузер пришёл второй раз и принёс логин и пароль. На адрес без заголовка он их не отправил ни разу: сервер не назвал способ входа.
Отсюда первый признак: если окна входа нет, а код 401 — сервер настроен не по стандарту или 401 означает не «введите пароль».
Наш замер: 10 сайтов с кодом 401
25 сентября 2026 года мы запросили главные страницы сайтов, которые организации Екатеринбурга указали в OpenStreetMap. Ответили 1579. Код 401 вернули 10 адресов восьми компаний — в основном крупных федеральных сетей.
Заголовка WWW-Authenticate не было ни у одного. Во всех десяти ответах
стоял один и тот же сервер — служба защиты от DDoS-атак. В теле
страницы — только подключение скрипта проверки, никакой формы входа.
Это не закрытый раздел, а проверка «человек или программа»: браузер выполняет скрипт, получает отметку в куки и приходит снова. Мы открыли все десять адресов в Chrome под управлением программы, из-за рубежа и из российской сети:
| Итог | Адресов |
|---|---|
| проверку прошёл, открылся магазин | 1 |
| после проверки — страница «HTTP 403» | 9 |
Смена строки браузера на обычную ничего не поменяла, как и смена сети. Видимо, защита распознаёт автоматический браузер не по строке. Робот, представившийся как YandexBot, с нашего адреса тоже получил 401.
Когда 401 — это нормально
- Админка и служебные разделы. Пароль на уровне сервера — простая и надёжная защита панели управления.
- Тестовая копия сайта. Закрыть её паролем правильно: иначе копия попадёт в поиск и будет спорить с основным сайтом.
- Личный кабинет и API. Без входа там показывать нечего.
Поиску такие страницы не нужны, и 401 им подходит. В справочнике кодов Вебмастера Яндекса про 401 написано: «Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем». Робот данных для входа не вводит.
Когда 401 — поломка
- Защита закрыла весь сайт. Защиту ставили на тестовую копию, а при переносе она уехала на боевой сервер. Для посетителей и робота сайт исчез.
- Закрыты файлы, нужные странице. Стили, скрипты или картинки лежат в закрытой папке. Страница открывается, но разваливается.
- Защита от роботов режет поисковик. Если такая защита не пропускает поисковых роботов, страницы выпадут из выдачи, хотя люди их видят. Узнать, как робот видит сайт, помогут Вебмастер и проверка доступности для роботов.
- Сломан вход. Верный пароль, а в ответ снова 401. Причина — настройка сервера или устаревший файл с паролями.
Что делать, если вы посетитель
- Окно входа есть — у вас должен быть логин и пароль от владельца. Без них внутрь не попасть; это не поломка.
- Окна нет, а на странице «401» — подождите несколько секунд и обновите страницу. Проверку на робота браузер проходит сам, если выполняет скрипты.
- Не открывается и так — включите JavaScript и куки, выключите на время расширения-блокировщики. Проверка на робота без скриптов не проходит.
- Раньше пускало, теперь нет — выйдите из аккаунта и войдите снова: сессия могла истечь.
Как проверить свой сайт
Посмотрите заголовки ответа:
curl -I https://сайт.ru/
Первая строка покажет код. Если там 401, ищите WWW-Authenticate: есть —
стоит пароль на уровне сервера; нет — 401 отдаёт программа сайта или
защита перед ним. Затем проверьте ту же страницу в Вебмастере: там
видно, какой код получает робот Яндекса.
Границы замера
- Одна выборка: главные страницы сайтов Екатеринбурга из OpenStreetMap. Внутренние разделы и админки мы не проверяли — честный 401 живёт скорее там.
- Chrome под управлением программы, на Linux. Как проходит проверку обычный браузер с человеком, мы не измеряли.
- Настоящих адресов поисковых роботов у нас нет: запрос от имени YandexBot показывает только реакцию на строку браузера.
- Стенд — один тестовый сервер, способ входа Basic.
- Данные сняты 25.09.2026.
Коротко
- 401 — «представьтесь»: без верного логина и пароля сервер не пускает.
- По стандарту в ответе обязан быть заголовок
WWW-Authenticate; без него браузер не спросит пароль. - 403 — «нельзя»: пароль может не помочь.
- Из 1579 сайтов Екатеринбурга код 401 вернули 10, и все — защита от роботов, а не вход.
- Для админки и тестовой копии 401 — норма; для страниц, которые должны быть в поиске, — поломка.
