Обновлено:

На этой странице

Браузерный кэш и выравнивание значков города

Сборка 54b1b9a4865de2f7, схема 27. Исправления опубликованы в основной игре и проверены. Общий отчёт. Сервер · Браузер · Сохранение ETag.

Кэширование

Для HTML, JSON и URL без версии сервер возвращает Cache-Control: public, max-age=0, must-revalidate. Браузер может сохранить ответ, но перед повторным использованием проверяет его по ETag или Last-Modified. Неизменившийся файл получает 304 без тела, изменившийся — 200 с новым содержимым. fetch правил и манифеста больше не использует no-store: установлен no-cache, который разрешает хранение и требует актуализации. Приложению браузер возвращает сохранённый JSON прозрачно.

Версионированные JS/CSS/изображения/звуки получают public, max-age=31536000, immutable. Условие применяется к поддерживаемому типу файла и параметру v с шестнадцатеричной версией; HTML, JSON и ошибки 404 в этот режим не попадают. Новая версия файла меняет URL в импортах, CSS или манифесте. Обычная навигация может брать неизменившиеся ресурсы из кэша без запроса на сервер; принудительное обновление браузером может выполнять дополнительные проверки.

Текстовые ответы сжимаются zstd/gzip в зависимости от возможностей браузера. Реальная передача основного профиля через gzip уменьшилась с 1 461 559 до 81 999 байт при точном совпадении распакованного содержимого. Изображения и звук сохраняются без изменений содержимого.

Публикация игры теперь сравнивает содержимое и оставляет неизменившиеся файлы на месте. Резервная копия сохраняется отдельно. При атомарной публикации исследований одинаковые файлы получают прежнее время модификации. Это предотвращает смену ETag только из-за очередной публикации сайта.

Правила Caddy ограничены /civilization/*. Перед применением активная конфигурация была сверена с исходной; после удаления добавленного обработчика конфигурации остальных маршрутов совпадают. Выполнены проверка конфигурации и плавная перезагрузка. Шаблон: deployment/civilization-cache.caddy; исходная конфигурация сохранена приватно для отката.

Основания: кэш HTTP и условные запросы, заголовки Caddy, статические файлы Caddy.

Значки города

По изображению пользователя /tmp/codex-image-bcaad617-6656-4520-803a-5c6eaf829903.png значки торговли, коррупции, науки и налогов объединены со своими подписями в группы, выровненные через align-items: center. Общая строка ресурсов использует то же выравнивание; «Подключены» и названия ресурсов больше не имеют разных базовых линий. Ширина изображения и его подпись переносятся вместе.

Браузерная проверка измеряет центры значков и подписей, включая пищу/щиты и подключённые ресурсы; допустимое расхождение — один пиксель. Оригинальные изображения не перерисованы.

!Значки и подписи после выравнивания

Подтверждённые проверки

  • ETag и Last-Modified возвращают 304 для неизменившихся HTML, JSON и изображения.
  • Изменённый временный JSON вернул 200 и новый ETag; проверочный файл удалён.
  • Gzip-вариант JSON совпадает после распаковки, условный запрос к нему тоже возвращает 304.
  • Версионированные ресурсы имеют длительный кэш; JSON и 404 не получают immutable.
  • ETag неизменившихся профиля, манифеста и городского атласа сохранились после настоящих публикаций; неизменённый файл исследований тоже сохранил ETag и вернул304.
  • В свежем Chromium повторная обычная навигация использовала кэш для 118 ресурсов; оба основных JSON получили сетевой статус 304. То же подтверждено после перезагрузки. Зафиксированные Chrome объёмы: холодный проход 8 570 461 байт, тёплый — 291 байт; это измерение конкретного состояния и браузерного протокола, не гарантия для любого клиента.
  • DOM прошёл. Ядро и медиа совпадают с предыдущей проверенной сборкой после исключения версии статических импортов; прежние 664 автоматические проверки сохраняют область покрытия. Дополнительно пройдены пять сценариев Chromium на основном сайте: HTTP-кэш/значки, визуальные исправления, классическое управление, обмен знаниями и полная партия до победы на 18-м ходу с точным экспортом/перезагрузкой. Все отчёты имеют текущий адрес/версию и пустые списки ошибок.

Полный MVP, точное Windows-поведение и оставшиеся задачи плана остаются в работе.