Конечные точки Google Cloud не учитывают заголовки кеша etag

Когда я отправляю запрос GET, я получаю ответ 200 OK и заголовок etag:

etag → "tZIZl_M15FKLVh9sN6Nj0iz1dQE/fA5Fya8Zz6DLGJwPNnIWbruyt30"

В моем последующем запросе я посылаю

If-Not-Modified → "tZIZl_M15FKLVh9sN6Nj0iz1dQE/fA5Fya8Zz6DLGJwPNnIWbruyt30"

заголовок, но конечная точка по-прежнему отправляет обратно 200 OK, а не 304.

Как заставить конечную точку учитывать заголовок If-Not-Modified? Документации по кэшированию с использованием облачных конечных точек не существует :/


person iTwenty    schedule 02.03.2015    source источник


Ответы (1)


Google Cloud Endpoints — это механизм для прямого вызова внутренних методов.

Следовательно, они не следуют обычным правилам для других запросов, таких как кеш, который вы упоминаете.

Думайте о них как о коде AJAX для App Engine, который можно вызывать из вашего Android/iOS/веб-кода.

У вас есть два варианта, если кеш важен для вас:

  1. Использовать стандартную модель запроса/ответа HTTP, т. е. не использовать облачные конечные точки.
  2. Самостоятельно реализовать управление кешем внутри собственных методов.
person Mario    schedule 03.03.2015