Предположим, что я предоставляю услугу REST (через HTTPS), которая использует идентификацию токена на предъявителя (JWT) и отвечает на запрос GET заголовком Cache-Control: private
.Cache-Control частный в режиме киоска
Теперь предположим, что мое приложение используется в режиме киоска (несколько пользователей используют ту же самую сессию браузера, что и пользователь ОС, думают интернет-кафе или что-то в этом роде). Пользователь1 делает аутентифицированный запрос ресурсу.
GET /api/resource
Authorization: bearer <token1>
Реакция начинается с:.
HTTP/1.1 200 OK
Cache-Control: private
Теперь User1 признаки из моего приложения и знаки user2 в браузере делает запрос к одному ресурсу от ее имени (но с другим JWT маркер).
GET /api/resource
Authorization: bearer <token2>
Теперь мой вопрос, будет ли браузер рассмотреть возможность выполнения этого из кэша, поскольку это тот же самый запрос от того же пользователя ОС? Или браузер учитывал бы значение Authorization
в этом решении?
Если первый, будет заголовок Vary: Authorization
в исходном ответе на изменение этого поведения.
Обратите внимание, что если вы не установили 'Cache-Control: no-store', личная информация из сеанса пользователя останется на клиенте. – SilverlightFox