Ответ
Статические файлы (static files) — это ресурсы, которые доставляются клиенту (браузеру) без изменений и не требуют обработки на стороне сервера. Они одинаковы для всех пользователей.
К ним относятся:
- CSS-стили (
styles.css
) - JavaScript-файлы (
app.js
) - Изображения (
logo.png
,background.jpg
) - Шрифты (
roboto.woff2
) - Видео/аудио файлы
Основная идея в том, что веб-серверу (например, Nginx) достаточно просто найти файл на диске и отдать его содержимое, в отличие от динамического контента, который генерируется программно для каждого запроса (например, HTML-страница с данными из базы данных).
Пример настройки в Django
В settings.py
указываются пути для статики:
# URL, по которому будут доступны статические файлы в браузере
STATIC_URL = '/static/'
# Директории, где Django будет искать статические файлы (помимо папок static внутри приложений)
STATICFILES_DIRS = [
BASE_DIR / 'static',
]
# Папка, куда команда collectstatic соберет все статические файлы для production
STATIC_ROOT = BASE_DIR / 'staticfiles'
В production-окружении статические файлы обычно раздаются не приложением, а высокопроизводительным веб-сервером (Nginx, Apache) или через CDN (Content Delivery Network). Это снимает нагрузку с application-сервера и значительно ускоряет загрузку сайта для пользователей.