HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Аутентификация в HTTP представляет собой процесс проверки подлинности пользователя или клиента. Это важная часть системы безопасности, которая позволяет серверу убедиться, что доступ к его ресурсам получает именно тот, кто имеет на это право. В HTTP существует несколько типов аутентификации, среди которых самой простой является базовая аутентификация.</p>
1 <p>Аутентификация в HTTP представляет собой процесс проверки подлинности пользователя или клиента. Это важная часть системы безопасности, которая позволяет серверу убедиться, что доступ к его ресурсам получает именно тот, кто имеет на это право. В HTTP существует несколько типов аутентификации, среди которых самой простой является базовая аутентификация.</p>
2 <h2>Базовая аутентификация</h2>
2 <h2>Базовая аутентификация</h2>
3 <p>Базовая аутентификация, выглядит как окошко браузера запрашивающее логин и пароль при входе на сайт или какой-то из его разделов. Возможно вы даже сталкивались с таким запросом в интернете (<a>пример</a>).</p>
3 <p>Базовая аутентификация, выглядит как окошко браузера запрашивающее логин и пароль при входе на сайт или какой-то из его разделов. Возможно вы даже сталкивались с таким запросом в интернете (<a>пример</a>).</p>
4 <p>Базовая аутентификация настраивается на серверной стороне, либо внутри приложения (сайта), либо внутри веб-сервера, например Nginx. Для этого указывается конкретная пара логин/пароль для определенного пути в браузере. Пример с Nginx ниже:</p>
4 <p>Базовая аутентификация настраивается на серверной стороне, либо внутри приложения (сайта), либо внутри веб-сервера, например Nginx. Для этого указывается конкретная пара логин/пароль для определенного пути в браузере. Пример с Nginx ниже:</p>
5 <p>Когда пользователь переходит на страницу, на которой настроена базовая аутентификация, серверная часть проверяет наличие логина и пароля в запросе. Передать их можно таким образом:</p>
5 <p>Когда пользователь переходит на страницу, на которой настроена базовая аутентификация, серверная часть проверяет наличие логина и пароля в запросе. Передать их можно таким образом:</p>
6 - <p>Если логин и пароль были переданы и они совпали с теми, что указаны на сервере, то запрос пройдет. Если они не совпали или не были переданы, то сервер возвращает код ответа:<em>HTTP 401 Unauthorized</em>. Ответ может сопровождаться заголовком<strong>WWW-Authenticate</strong>, указывающему клиенту на запрос логина и пароля. Именно поэтому браузер показывает окошко для ввода данных.</p>
6 + <p>Если логин и пароль были переданы и они совпали с теми, что указаны на сервере, то запрос пройдет. Если они не совпали или не были переданы, то сервер возвращает код ответа:<em>HTTP 401 Unauthorized</em>. Ответ может сопровождаться заголовком<strong>WWW-Authenticate</strong>, указывающим клиенту на запрос логина и пароля. Именно поэтому браузер показывает окошко для ввода данных.</p>
7 <p>Логин и пароль, указанные в модальном окне, передаются на сервер в виде заголовка с закодированным сообщением:</p>
7 <p>Логин и пароль, указанные в модальном окне, передаются на сервер в виде заголовка с закодированным сообщением:</p>
8 <p>Когда логин и пароль введены, нас не просто пускает в закрытую зону, но и все дальнейшие запросы будут проходить, хотя мы больше ничего не вводим. После того как пользователь успешно аутентифицирован, браузер или клиент API автоматически включает заголовок Authorization с теми же учетными данными во все последующие запросы к тому же серверу (до тех пор, пока сессия не завершится или ресурс не изменится). Это значит, что сервер продолжает проверять логин и пароль на каждом запросе, но клиент всегда предоставляет их автоматически, поэтому пользователь не замечает повторных запросов аутентификации.</p>
8 <p>Когда логин и пароль введены, нас не просто пускает в закрытую зону, но и все дальнейшие запросы будут проходить, хотя мы больше ничего не вводим. После того как пользователь успешно аутентифицирован, браузер или клиент API автоматически включает заголовок Authorization с теми же учетными данными во все последующие запросы к тому же серверу (до тех пор, пока сессия не завершится или ресурс не изменится). Это значит, что сервер продолжает проверять логин и пароль на каждом запросе, но клиент всегда предоставляет их автоматически, поэтому пользователь не замечает повторных запросов аутентификации.</p>