Рефреш — обновление данных и состояний в информатике¶
Рефреш (от англ. refresh — «обновлять») — термин информатики и вычислительной техники, обозначающий процесс обновления данных, состояния интерфейса или содержимого устройства до актуального значения. Понятие применяется в разных контекстах: от обновления страницы веб-браузера до перезаписи содержимого оперативной памяти динамической памяти (DRAM) и синхронизации кэша процессора.
¶Рефреш веб-страницы
В контексте интернет-браузинга рефреш означает повторную загрузку страницы с сервера. Пользователь запускает обновление с помощью клавиши F5 (или Ctrl+F5 для принудительного обновления с очисткой кэша), кнопки в интерфейсе браузера либо программно через JavaScript-метод location.reload().
Различают два основных режима:
- Обычное обновление — браузер может использовать закэшированные ресурсы (CSS, JavaScript, изображения), отправляя на сервер запросы с заголовками
If-Modified-SinceилиIf-None-Match. Сервер отвечает кодом 304 (Not Modified), если содержимое не изменилось. - Принудительное обновление (hard refresh) — браузер игнорирует локальный кэш и запрашивает все ресурсы заново. Используется при разработке сайтов для проверки изменений.
Отдельный механизм — автоматический рефреш страницы, настраиваемый через HTML-тег <meta (организация признана экстремистской, деятельность запрещена в РФ) http-equiv="refresh" content="N">, который через N секунд перезагружает страницу или перенаправляет на другой URL. Этот подход считается устаревшим и не рекомендуется для продакшн-проектов из-за проблем с доступностью (accessibility) и поисковой оптимизацией.
¶Рефреш оперативной памяти (DRAM)
В аппаратном контексте рефреш — это периодическая перезапись данных в ячейках динамической оперативной памяти DRAM. Каждая ячейка DRAM состоит из транзистора и конденсатора; конденсатор со временем разряжается, и хранящийся в нём бит теряется. Для предотвращения потери данных контроллер памяти регулярно выполняет цикл рефреша, считывая и заново записывая содержимое ячеек.
Стандарт DDR4 работает с интервалом рефреша 64 мс на строку памяти, что соответствует частоте около 7,8 кГц. С ростом плотности чипов и уменьшением размера ячеек проблема утечки заряда становится острее: в современных DDR5 реализован механизм same-bank refresh и распределённый (distributed) рефреш, снижающий пиковые нагрузки на контроллер.
Рефреш-циклы создают задержки для процессора: во время обновления строки памяти обращения к ней блокируются. Производители памяти и процессоров используют техники, такие как refresh pause и temperature-compensated refresh (адаптация частоты обновления к температуре чипа), для минимизации этих задержек.
¶Рефреш кэша процессора
Кэш процессора (L1, L2, L3) хранит копии данных из оперативной памяти. Рефреш кэша — это обновление его содержимого для обеспечения согласованности с памятью. В мультипроцессорных системах применяются протоколы когерентности, например MESI (Modified, Exclusive, Shared, Invalid), которые определяют, когда и каким образом линии кэша должны быть обновлены или инвалидированы.
При обращении к данным, отсутствующим в кэше (cache miss), происходит заполнение кэш-линии свежими данными из памяти — это тоже форма рефреша. Эффективность работы кэша напрямую влияет на производительность системы: типичный коэффициент попаданий в кэш L3 составляет 95–98 %.
¶Рефреш в программировании и UI
В разработке программного обеспечения рефреш означает обновление отображаемой информации. В базах данных применяется механизм автономных транзакций (auto-commit) и команды COMMIT/ROLLBACK, обеспечивающие актуальность данных. В графических интерфейсах (GUI) рефреш — это перерисовка элементов окна при изменении состояния приложения.
В мобильной разработке для Android и iOS существует понятие частоты обновления экрана (refresh rate) — количества кадров в секунду, с которым дисплей обновляет изображение. Стандартные значения составляют 60 Гц, современные смартфоны поддерживают 90, 120 и даже 144 Гц, что обеспечивает более плавную анимацию.
¶Рефреш токенов (OAuth и JWT)
В веб-безопасности рефреш-токен — это специальный токен, используемый в протоколах авторизации (OAuth 2.0, OpenID Connect) для получения нового access-токена без повторной аутентификации пользователя. Access-токены обычно имеют короткое время жизни (от 5 минут до 1 часа), а refresh-токены — длительное (дни или недели). Механизм обеспечивает баланс между безопасностью и удобством: при истечении срока действия access-токена клиентское приложение использует refresh-токен для автоматического продления сессии.
В контексте JSON Web Tokens (JWT) рефреш-токен хранится на сервере и позволяет выдавать новые подписанные JWT, не запрашивая пароль пользователя. При компрометации refresh-токена его можно отозвать на сервере, что отличает его от stateless access-токенов.
¶Применение
Термин «рефреш» применяется в следующих областях:
- Веб-разработка — обновление страниц, AJAX-запросы, WebSocket-события;
- Аппаратное обеспечение — DRAM-рефреш, кэш-протоколы, видеоконтроллеры;
- Мобильные устройства — частота обновления экрана, фоновые процессы;
- Безопасность — токены авторизации, сессии;
- Базы данных — транзакции, материализованные представления.
В русскоязычной технической документации термин обычно транслитерируется как «рефреш» или переводится как «обновление», хотя в разговорной речи программистов и системных администраторов английское слово закрепилось в оригинальном написании.
¶Источники
- Tanenbaum A. S., Austin T. — «Архитектура компьютера» (Computer Organization and Design)
- Hennessy J. L., Patterson D. A. — «Computer Architecture: A Quantitative Approach»
- RFC 6749 — The OAuth 2.0 Authorization Framework
- JEDEC Standard JESD79-4 — DDR4 SDRAM
- MDN Web Docs — HTML
<meta>element,location.reload()
