Почему браузер не отправляет If-Modified-Since? - PullRequest
0 голосов
/ 14 ноября 2018

Я пытался проверить уже существующие вопросы и ответы, но не смог найти ответ на свою тему.Вещи, которые я проверил:

  • У меня есть соответствующий сертификат на моем домене
  • Я отправляю правильные заголовки ответа (по крайней мере, я так думаю, blured вещь - заголовок местоположения с s3 url):

enter image description here

Дополнительная информация:

  • мы используем http2.0 из cloudflare, может ли это как-то повлиять на это?
  • на нашем сервере мы используем только nginx + php-fpm

Какой именно сценарий - мы генерируем минимизированные изображения, используя параметры из пост-запроса на нашем сервере, и сохраняем его на S3.Я хотел кешировать эти запросы с помощью Last-Modified, чтобы браузер не делал ненужных запросов, поэтому сейчас он выглядит так:

  1. Запросите у нашего сервера правильные параметры (например, размер изображения и т. Д.), Соберитекакой-то объектный ключ для сохранения в s3
  2. Измените его размер, загрузите измененное изображение в S3.
  3. Верните изображение

По следующим запросам:

  1. Запросите наш сервер, соберите ключ еще раз
  2. Проверьте, существует ли он на S3, если да, верните просто перенаправление на URL-адрес s3.
  3. Если нет, тогда измените размер и загрузите снова и вернитеimage

Я хотел изменить это на:

  1. Запросить у нашего сервера правильные параметры (например, размер изображения и т. д.), создать какой-то ключ для сохранения
  2. Измените его размер, при необходимости загрузите измененное изображение на S3
  3. Верните изображение или перенаправьте на s3 с последним измененным заголовком.

По следующим запросам:

  1. Проверьте заголовок if-updated-Since
  2. Если разница с текущим значениемe меньше 72h (макс. s3 url ttl), а изображение не было обновлено (мы обновили дату в базе данных), затем верните 304.
  3. Если нет, то выполните то, что описано выше.

Что еще более случайное, иногда, например, 1 на 10 или 20 запросов, оно работает правильно, как будто у меня иногда 304, но это действительно редкий случай.

Есть идеи?

...