Як очистити кеш браузера Safari на Mac: усі методи пояснено
Очищення кешу Safari видаляє локально збережені копії веб-ресурсів — зображення, скрипти, таблиці стилів та відповіді API — які Safari накопичує для прискорення повторного завантаження сторінок. Коли ці дані застарівають або пошкоджуються, виникають збої відображення, цикли входу в систему, застарілий вміст сторінок і повільна продуктивність. Очищення кешу змушує Safari отримувати свіжі дані з вихідних серверів, що негайно вирішує більшість цих проблем.
Цей посібник охоплює всі доступні методи очищення кешу Safari на macOS, включаючи ярлик меню розробника, повне видалення даних через Параметри, комбінацію клавіш та ручне видалення через файлову систему — з технічним контекстом щодо того, коли кожен підхід є доречним.
Що кешує Safari і чому це важливо
Safari підтримує кілька окремих рівнів зберігання на диску, і розуміння їх допомагає вибрати правильний метод очищення:
- Кеш диска (
com.apple.Safari/WebKitCache): Необроблені дані HTTP-відповідей — HTML, CSS, JavaScript, зображення, шрифти. Саме на це спрямована команда «Очистити кеші». - Файли cookie (
Cookies/Cookies.binarycookies): Токени сесій, постійний стан входу, ідентифікатори відстеження. - LocalStorage / IndexedDB: Стан клієнтського застосунку, що зберігається веб-застосунками (наприклад, чернетки Gmail, вміст кошика покупок).
- Кеш Service Worker: Програмований рівень кешування, що використовується Progressive Web Apps (PWAs). Він відокремлений від HTTP-кешу диска і не очищається командою «Очистити кеші» в меню розробника — критична відмінність, яку більшість посібників не згадує.
- DNS кеш: Обробляється на рівні ОС, а не безпосередньо Safari.
Знання того, який рівень спричиняє проблему, визначає, який метод використовувати.
Порівняння методів очищення кешу Safari
| Метод | Очищає кеш диска | Очищає файли cookie | Очищає історію | Очищає LocalStorage | Очищає кеш Service Worker | Потребує меню розробника |
|---|
| — | — | — | — | — | — | — |
|---|
| Розробка > Очистити кеші | Так | Ні | Ні | Ні | Ні | Так |
|---|
| Ярлик Option + Cmd + E | Так | Ні | Ні | Ні | Ні | Так |
|---|
| Safari > Очистити історію | Так | Так | Так | Так | Ні | Ні |
|---|
| Ручне видалення через файлову систему | Так | Ні | Ні | Ні | Ні | Ні |
|---|
| Safari > Параметри > Конфіденційність > Керування даними веб-сайтів | Ні | Так | Ні | Так | Так | Ні |
|---|
Використовуйте цю таблицю як матрицю рішень перед вибором методу. Якщо ви налагоджуєте PWA або сайт, що використовує Service Workers, жоден зі стандартних варіантів очищення кешу не скине стан повністю — вам потрібно використати Керування даними веб-сайтів або вкладку «Застосунок» у Web Inspector.
Метод 1: Очищення кешу через меню розробника
Меню розробника — найшвидший спосіб очистити HTTP-кеш диска Safari без торкання файлів cookie, збережених паролів або історії перегляду. Це правильний підхід, коли сторінка відображає застарілі ресурси, але сесія та стан входу мають бути збережені.
Крок 1: Увімкніть меню розробника
- Відкрийте Safari.
- Натисніть Safari у рядку меню, потім виберіть Параметри (macOS Ventura і новіші) або Налаштування (macOS Monterey і старіші). Також можна натиснути
Cmd+,. - Перейдіть на вкладку Додатково.
- Встановіть прапорець Показувати меню «Розробка» в рядку меню.
Меню Розробка тепер з’явиться між «Закладками» та «Вікном» у рядку меню. Це налаштування зберігається після перезавантаження — вам потрібно увімкнути його лише один раз.
Крок 2: Очистіть кеш
- Натисніть Розробка у рядку меню.
- Виберіть Очистити кеші.
Safari негайно очищає кеш диска. Діалогове вікно підтвердження не з’являється, і перезапуск не потрібен. Операція виконується миттєво незалежно від розміру кешу.
Технічна примітка: На macOS кеш Safari зберігається за адресою ~/Library/Caches/com.apple.Safari/WebKitCache/. Команда «Очистити кеші» безпосередньо викликає API інвалідації кешу WebKit — вона не просто видаляє файли, що означає правильну обробку цілісності кешу та уникнення залишення осиротілих записів індексу.
Метод 2: Очищення кешу, історії та всіх даних веб-сайтів
Використовуйте цей метод, коли потрібне комплексне скидання — наприклад, при усуненні постійних проблем із входом, вирішенні циклів перенаправлення, пов’язаних із файлами cookie, або підготовці профілю браузера для роботи з конфіденційними даними.
Крок 1: Відкрийте «Очистити історію»
- Відкрийте Safari.
- Натисніть Safari у рядку меню.
- Виберіть Очистити історію.
Крок 2: Виберіть часовий діапазон і підтвердіть
З’явиться діалогове вікно з випадаючим меню, що пропонує чотири часові діапазони:
- Остання година
- Сьогодні
- Сьогодні і вчора
- Вся історія
Виберіть відповідний діапазон і натисніть Очистити історію.
Ця одна дія видаляє історію перегляду, HTTP-кеш диска, файли cookie та інші дані веб-сайтів за вибраний період. Вона не видаляє збережені паролі (що зберігаються в iCloud Keychain), дані автозаповнення або відкриті вкладки.
Граничний випадок: Якщо ви виберете «Остання година», але пошкоджений запис кешу було записано дві години тому, він не буде очищений. У разі сумнівів виберіть «Вся історія» для повного скидання.
Метод 3: Комбінація клавіш
Після увімкнення меню розробника ви можете очистити кеш у будь-який час без навігації по меню:
Натисніть Option + Command + E.
Це функціонально ідентично команді «Розробка» > «Очистити кеші». Особливо корисно під час активних сесій налагодження, коли потрібно багаторазово очищати кеш між перезавантаженнями сторінок. Поєднуйте з Cmd + Shift + R (жорстке перезавантаження), щоб змусити Safari повторно отримати всі ресурси з сервера одразу після очищення.
Метод 4: Ручне видалення через файлову систему
Ручне видалення надає прямий доступ до каталогу кешу, що корисно, коли:
- Safari не відповідає або не може бути запущений.
- Ви хочете перевірити вміст кешу перед видаленням.
- Ви пишете скрипт автоматизації або виконуєте обслуговування системи для кількох облікових записів користувачів.
Кроки
- Повністю закрийте Safari. Використовуйте
Cmd+Qабо підтвердіть через Activity Monitor, що жодні процеси Safari не запущені. Видалення файлів кешу під час активності Safari може спричинити пошкодження індексу.
- Відкрийте Finder. У рядку меню натисніть Перейти > Перейти до папки (або натисніть
Cmd+Shift+G).
- У полі введення введіть наступний шлях і натисніть Return:
~/Library/Caches/com.apple.Safari- У цьому каталозі ви знайдете підкаталоги, включаючи
WebKitCacheта, можливо,fsCachedData. Виберіть весь вміст і перемістіть його до Смітника.
- Очистіть Смітник.
Важливо: Не видаляйте сам каталог com.apple.Safari — лише його вміст. Видалення батьківського каталогу може призвести до того, що Safari втратить конфігурацію кешу та ініціює коротку повторну ініціалізацію при наступному запуску, що є нешкідливим, але непотрібним.
Для автоматизації еквівалентна команда оболонки:
rm -rf ~/Library/Caches/com.apple.Safari/WebKitCache/Виконуйте це лише коли Safari не запущений. Ви можете перевірити, що Safari закритий, перед виконанням:
pgrep -x Safari || rm -rf ~/Library/Caches/com.apple.Safari/WebKitCache/Метод 5: Видалення даних конкретного веб-сайту (файли cookie, LocalStorage, Service Workers)
Цей метод часто ігнорується, але він є необхідним для очищення кешів Service Worker та LocalStorage для окремих сайтів — двох рівнів, які стандартні методи очищення кешу повністю пропускають.
- Відкрийте Параметри / Налаштування Safari (
Cmd+,). - Перейдіть на вкладку Конфіденційність.
- Натисніть Керування даними веб-сайтів.
- Використовуйте поле пошуку для знаходження конкретного домену або натисніть Видалити все, щоб стерти всі збережені дані веб-сайтів.
- Натисніть Готово.
Це єдиний вбудований метод інтерфейсу Safari, який видаляє реєстрації Service Worker та пов’язані з ними кеші. Якщо Progressive Web App поводиться некоректно після оновлення, це правильне рішення.
Як очищення кешу пов’язане з конфігурацією веб-сервера та хостингу
Поведінка кешу — це рівняння з двох сторін. Навіть після очищення локального кешу Safari веб-сервер може дати браузеру вказівку негайно повторно кешувати вміст через заголовки Cache-Control та Expires. Якщо ви керуєте веб-сайтом і ваші користувачі повідомляють про застарілий вміст, виправлення знаходиться на стороні сервера — зокрема, налаштування директив cache-control у конфігурації веб-сервера або налаштуваннях CDN.
У середовищі VPS Хостингу, що працює на Nginx, наприклад, ви керуєте поведінкою кешування на рівні заголовків відповіді:
location ~* .(css|js|png|jpg|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}Для середовищ розробки та тестування, де потрібно, щоб браузери ніколи не кешували відповіді, використовуйте:
add_header Cache-Control "no-store, no-cache, must-revalidate";Якщо ви використовуєте Виділений сервер і панель керування на кшталт cPanel, ці заголовки можна налаштувати через .htaccess або безпосередньо в конфігурації віртуального хоста Apache. Поєднання правильних заголовків кешування на стороні сервера з очищенням кешу на стороні клієнта є правильним підходом для вирішення постійних проблем із кешуванням від початку до кінця.
Для сайтів, захищених HTTPS — що впливає на те, як браузери обробляють кешовані ресурси, особливо з заголовками Strict-Transport-Security — переконайтеся, що ваші SSL Сертифікати дійсні та правильно налаштовані. Прострочений або неправильно налаштований SSL сертифікат може змусити Safari відмовитися від кешованих ресурсів і відображати помилки з’єднання, що імітують пошкодження кешу.
Якщо ви керуєте кількома доменами або піддоменами, кожен з власною областю кешування, підтримання точності Реєстрації доменів та DNS-записів гарантує, що стратегії очищення кешу (наприклад, версійні URL-адреси ресурсів) правильно вирішуються в усіх середовищах.
Усунення несправностей: коли очищення кешу не вирішує проблему
Якщо очищення кешу не вирішує вашу проблему, пройдіть цей діагностичний контрольний список:
- Все ще бачите старий вміст? Сервер може повертати відповідь
304 Not Modifiedна основі заголовківETagабоLast-Modified. Використовуйте Web Inspector Safari (Розробка > Показати Web Inspector > вкладка «Мережа») і перевірте коди статусу відповідей.304означає, що сервер підтвердив актуальність кешованої версії — проблема на сервері, а не в браузері. - Цикл входу зберігається після очищення кешу? Вам, мабуть, також потрібно очистити файли cookie. Використовуйте Метод 2 або Метод 5.
- PWA не оновлюється? Service Worker обслуговує кешовані ресурси. Використовуйте Метод 5 (Керування даними веб-сайтів) або відкрийте Web Inspector > Застосунок > Service Workers і натисніть «Скасувати реєстрацію».
- Папка кешу порожня, але продуктивність все ще низька? Вузьким місцем може бути затримка мережі, час розпізнавання DNS або час відповіді сервера — а не локальний кеш. Використовуйте вкладку «Мережа» у Web Inspector для визначення фактичного джерела затримки.
~/Library/Caches/com.apple.Safariне існує? На macOS Sonoma і новіших з Safari 17+ деякі шляхи кешу були реорганізовані в~/Library/Containers/com.apple.Safari/Data/Library/Caches/. Якщо стандартний шлях порожній, перевірте цей шлях контейнера.
Для macOS Sonoma і новіших правильний ручний шлях:
~/Library/Containers/com.apple.Safari/Data/Library/Caches/Технічний контрольний список ключових висновків
Перед очищенням кешу Safari визначте точну проблему, щоб вибрати правильний метод:
- Використовуйте Розробка > Очистити кеші (
Option+Cmd+E) для застарілих візуальних ресурсів без втрати стану сесії. - Використовуйте Safari > Очистити історію > Вся історія для повного скидання браузера, включаючи файли cookie та історію.
- Використовуйте Конфіденційність > Керування даними веб-сайтів для кешу Service Worker, IndexedDB та LocalStorage — особливо для проблем із PWA.
- Використовуйте ручне видалення через файлову систему лише коли Safari повністю закритий; цільовий вміст
WebKitCache, а не батьківський каталог. - На macOS Sonoma і новіших перевірте
~/Library/Containers/com.apple.Safari/Data/Library/Caches/, якщо стандартний шлях кешу здається порожнім. - Після очищення клієнтського кешу перевірте, що заголовки
Cache-Controlна стороні сервера правильно налаштовані для запобігання негайному повторному кешуванню застарілого вмісту. - Якщо ви керуєте веб-сервером, використовуйте версійні імена файлів ресурсів (наприклад,
style.v2.css) як стратегію очищення кешу, що працює незалежно від налаштувань кешу на стороні клієнта.
FAQ
Чи видаляє очищення кешу Safari збережені паролі?
Ні. Збережені паролі зберігаються в iCloud Keychain, який повністю відокремлений від кешу браузера, файлів cookie та історії перегляду. Жоден із описаних тут методів очищення кешу не впливає на збережені облікові дані.
Чому кеш Safari швидко заповнюється знову після очищення?
Safari повторно кешує ресурси при кожному відвідуванні сторінки відповідно до директив Cache-Control сервера. Активний перегляд, сайти з великою кількістю медіа та веб-застосунки з агресивними політиками кешування заповнять кеш протягом кількох годин. Це нормальна поведінка — кеш функціонує так, як задумано.
Чи очищає «Очистити кеші» в меню «Розробка» кеші Service Worker?
Ні. Команда «Очистити кеші» в меню «Розробка» спрямована лише на HTTP-кеш диска (кеш ресурсів WebKit). Кеші Service Worker управляються окремо через Cache Storage API браузера. Щоб їх очистити, використовуйте Safari Параметри > Конфіденційність > Керування даними веб-сайтів або панель «Застосунок» у Web Inspector для скасування реєстрації конкретних Service Workers.
Як очистити кеш Safari на macOS Sonoma, якщо стандартний шлях кешу відсутній?
На macOS Sonoma і Safari 17+ кеш може зберігатися всередині контейнера застосунку за адресою ~/Library/Containers/com.apple.Safari/Data/Library/Caches/. Перейдіть туди за допомогою діалогу «Перейти до папки» у Finder або термінала та видаліть вміст підкаталогу WebKitCache при повністю закритому Safari.
Чи можна автоматизувати очищення кешу Safari за розкладом за допомогою інструментів macOS?
Так. Ви можете використовувати launchd для планування виконання скрипта оболонки, що запускає rm -rf ~/Library/Caches/com.apple.Safari/WebKitCache/ (або шлях контейнера Sonoma) через визначені інтервали. Створіть файл списку властивостей у ~/Library/LaunchAgents/ з ключем StartCalendarInterval. Переконайтеся, що завдання виконується лише коли Safari не активний, додавши перевірку pgrep до скрипта, як показано в розділі ручного видалення вище.
