Чи використання сеансів в API RESTful дійсно порушує RESTfulness? Я бачив багато думок в будь-якому напрямку, але я не впевнений, що сеанси не мають сили . З моєї точки зору:
- аутентифікація не заборонена для RESTfulness (інакше користь у послугах RESTful буде мало)
- аутентифікація здійснюється шляхом надсилання маркера аутентифікації в запиті, як правило, в заголовку
- цей маркер автентифікації потрібно отримати якось і може бути відкликаний, і в цьому випадку його потрібно поновити
- маркер автентифікації повинен бути підтверджений сервером (інакше це не буде автентифікацією)
То як сеанси порушують це?
- на стороні клієнта, сеанси реалізуються за допомогою файлів cookie
- cookie - це просто додатковий заголовок HTTP
- cookie сеансу можна отримати та відкликати в будь-який час
- сеансові файли cookie можуть мати нескінченний час життя, якщо це необхідно
- ідентифікатор сеансу (маркер автентифікації) підтверджений на стороні сервера
Таким чином, для клієнта сеансовий cookie точно такий же, як і будь-який інший механізм аутентифікації на основі заголовка HTTP, за винятком того, що він використовує Cookie
заголовок замість Authorization
іншого або власного заголовка. Якщо не було жодного сеансу, приєднаного до значення сервера файлів cookie, чому це може змінити значення? Реалізація на стороні сервера не повинна стосуватися клієнта, поки сервер веде себе RESTful. Таким чином, файли cookie самі по собі не повинні робити API RESTless , а сеанси - просто куки для клієнта.
Чи мої припущення неправильні? Що робить файли cookie сеансу RESTless ?