Проверка авторизации для HTTP-кэшей

У меня есть метод веб-API, как указано ниже, дляREST оказание услуг. Это для получения всей информации о пользователях для InventoryAuditors. Только авторизованные пользователи InventoryAuditor могут получить доступ к этому ресурсу.

[RoutePrefix("api/users")]
public class UsersController : ApiController
{
    [Authorize(Roles="InventoryAuditor")]
    [Route("")]
    [HttpGet]
    public List<User> GetAllUsers()
    {
        //Return list of users
    }

}

public class User
{
    public int UserID { get; set; }
    public string FirstName { get; set; }
}

Вопросы

Кэшируется ли этот ресурс дляshared caches (лайкForward Proxies и другие промежуточные кеши)?Если да, то как общий кэш выполняет проверку авторизации - как кэш узнает, что ресурс должен обслуживаться только для InventoryAuditors?Как должны выглядеть заголовки, чтобы разрешить кэширование этого авторизованного представления?

Или естьHTTP Caching Не все ли будут использоваться в случае авторизованных ресурсов?

Заметка: Статья«Учебник по кэшированию для веб-авторов и веб-мастеров» говорит:

По умолчанию страницы, защищенные HTTP-аутентификацией, считаются закрытыми; они не будут храниться в общих кэшах. Однако вы можете сделать аутентифицированные страницы общедоступными с помощью Cache-Control: public header; Кэши, совместимые с HTTP 1.1, позволят их кэшировать.

РЕКОМЕНДАЦИИ

https://tools.ietf.org/html/rfc7235#section-4.2https://tools.ietf.org/html/rfc7234#section-3.2https://tools.ietf.org/html/rfc7234#section-5.2.2Протокол передачи гипертекста (HTTP / 1.1): кэшированиеОсобенность: Аутентификация на предъявителя - SquidГлупые хитрости веб-кэширования

Ответы на вопрос(2)

Ваш ответ на вопрос