Ускоренная мобильная страница (AMP) и защищенная паролем административная область, могу ли я объединить их на одной странице?


Полный сайт переносится в AMP. Я хочу интегрировать функции администратора на страницы AMP, такие как простые ссылки для удаления контента и огромные формы (не удобные для мобильных устройств) для редактирования контента. Он будет виден после входа в систему, а не мобильный контент будет находиться в iframes (чтобы не сломался AMP, как несовместимый). Другими словами, мне нужны одни и те же страницы для интерфейсных страниц пользователя и администратора, которые будут работать на любом устройстве для пользователя, и те же страницы усилителя для администратора, что потребуется экран рабочего стола, на котором действия администратора выполняются во всплывающих окнах (кадры в лайтбоксе). Что я должен сделать, чтобы сделать это правильно:

  1. защищенная паролем версия страницы администратора - другими словами, страница будет отличаться в зависимости от файла cookie сеанса,
  2. сделать абсолютные ссылки на элементы администратора, а не относительные, полный URL-адрес, включая мой домен, чтобы избежать попадания в кэшированный контент? Изменяет ли Google относительные ссылки при кэшировании AMP или вообще не трогает его?
  3. Создайте разные заголовки, разрешает кэшировать страницу по заголовкам с пользовательским контентом (и формой входа в систему) и отключает кэш по заголовкам http для вошедшего в систему администратора? Действительно ли это необходимо?

Я что-то упускаю? Будет ли это работать так, как ожидалось? Это хороший способ, на случай, если отдельную админку разрабатывать не стоит, да и не желательно?

Будет ли Google кэшировать страницы в кэше AMP даже с предотвращением заголовков управления кэшем? Нужны ли разные заголовки управления кэшем для страницы по умолчанию и для страницы "вход в систему"?

Author: LeonidMew, 2018-10-19

1 answers

Страницы пользовательского интерфейса администратора и страницы, которые не должны храниться в кэше, просто не имеют атрибута ⚡ или amp в теге html, при этом все еще используют javascripts и разметку amp. В любом случае, эти страницы могут быть защищены паролем и скрыты от искателя и кэша усилителя. Динамический пользовательский интерфейс не должен кэшироваться. Это отличается от отправки заголовков управления кэшем, поскольку страницы, у которых уже истек срок действия заголовков управления кэшем, все еще могут обслуживаться из кэша amp.

"[кэш] использует заголовки кэширования источника, например, Максимальный возраст, как подсказки при принятии решения о том, является ли конкретный документ или ресурс устаревшим. Когда пользователь делает запрос на что-то устаревшее, этот запрос вызывает извлечение новой копии, чтобы следующий пользователь получил свежий контент"

Кэшу разрешено обслуживать устаревшее содержимое независимо от заголовков кэширования HTTP. Он должен прилагать разумные усилия для сохранения содержимого кэша свежим и должен повторно проверять содержимое после предоставления устаревших ответов.

Удаление ⚡ делает усилитель не действителен, но все же извлекает из него мало пользы. Однако статические или не так часто изменяемые страницы должны находиться в кэше, что дает множество преимуществ, таких как предварительный рендеринг, масштабирование изображений для разных устройств, минимизация html/js/css.

Ссылка: https://github.com/ampproject/amphtml/blob/master/spec/amp-cache-guidelines.md

Обновление: Кэш AMP заменяет все исходящие ссылки, поэтому, например: ссылка на кэшированное изображение или страницу будет указывать на кэш CDN, однако ссылка, например, чтобы не кэшированная страница входа в систему была полным URL-адресом домена сайта, а не CDN - даже ссылка для входа/форма приходят из кэша CDN.

Одни и те же страницы не могут быть как обычной версией, так и некэшированной версией администратора, потому что обычная версия может размещаться в кэше amp, кэше браузера, и вошедший в систему администратор увидит страницу из кэша вместо своей некэшированной версии. Тем не менее, можно добавить некоторый префикс к страницам, например "/admin_" с помощью mod_rewrite, указывающий на тот же код, но этот код вернет страницу для кэша или не кэшируемую страница с дополнениями пользовательского интерфейса администратора в зависимости от префикса.
Кажется, также возможно использовать файл cookie администратора вместо префикса в соответствии со следующими правилами: перенаправление входа на URL-адрес сайта, а не cdn. Сценарии возвращают некэшируемую версию с пользовательским интерфейсом администратора в зависимости от файла cookie, те же сценарии возвращают кешируемую версию, если файл cookie отсутствует. Заголовки управления кэшем заставляют браузер каждый раз повторно проверять кэшированную версию. Похоже, теряет некоторые преимущества кэша по сравнению с версией с префиксом "администратор".

 1
Author: LeonidMew, 2018-10-23 10:21:16