Чтобы быть RESTful, каждый HTTP-запрос должен содержать достаточно информации, чтобы его получатель мог обработать его, чтобы он полностью соответствовал природе HTTP без сохранения состояния.
Хорошо, я получаю HTTP-аутентификацию
делается автоматически для каждого сообщения
- но как?
Да, имя пользователя и пароль отправляются с каждым запросом. Распространенными методами для этого являются базовая аутентификация доступа и дайджест-аутентификация доступа . И да, перехватчик может захватывать учетные данные пользователя. Таким образом, можно было бы зашифровать все данные, отправленные и полученные с использованием Transport Layer Security (TLS) .
Было бы плохо иметь ОТДЫХ
сервис, скажем, / сеанс, который принимает
ПОЛУЧИТЕ запрос, где вы будете проходить в
имя пользователя / пароль как часть
запрос и возвращает токен сеанса
если аутентификация прошла успешно,
которые могут быть переданы вместе с
последующие запросы? Это делает
смысл с точки зрения ОТДЫХА, или
что упускает из виду?
Это не будет RESTful , поскольку оно несет состояние, но, тем не менее, оно довольно распространено, поскольку это удобно для пользователей; пользователь не должен входить в систему каждый раз.
То, что вы описываете в «маркере сеанса», обычно называется cookie для входа в систему . Например, если вы попытаетесь войти в свой Yahoo! В аккаунте есть флажок, который гласит «держи меня в сети в течение 2 недель». По сути, это означает, что (по вашим словам) «поддерживайте мой токен сессии в течение 2 недель, если я успешно войду в систему». Веб-браузеры будут отправлять такие файлы cookie для входа в систему (и, возможно, другие) с каждым HTTP-запросом, который вы просите сделать для вас.