1)
- Добавляется не файл шрифта, а mime тип соответствующего файла, пример
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/opentype
- Использовать кеш для шрифтов стоит, если шрифт не стандартный и подключается отдельным файлом
2)
- mod_gzip_item_include имеет формат
mod_gzip_item_include <тип> <регулярное выражение>
тип может быть: mime, handler, file, uri, reqheader, rspheader
если регулярное выражение отработало, то будет кеширование.
Использовать файлы или mime типы или все вместе - это зависит от задачи. Как пример, ты можешь генерить js или css в файле site_com/style.php и в таком случае, mime сработает (при условии что будет в скрипте послан css header), а вот file нет. В общем, идея думаю понятна..
Обязательно ли использовать параметр ExpiresDefault?
Нет не обязательно. ExpiresDefault = общая настройка; ExpiresByType = более тонкая настройка, при этом переопределяет значения ExpiresDefault.
Для шрифтов досточно будет: application/x-font-ttf, font/opentype, application/x-font-woff
Зависит от набора шрифтов которые используешь, см. ответ на п.1
Нужно ли удалять ETag и Last-Modified?
Если, у тебя нет балансировки (нескольких веб-серверов для одного сайта), то не надо удалять. С помощью этих заголовков веб-сервер понимает какая версия страницы находится в кеше браузера и соответственно либо генерирует новую страницу (http 200), либо говорит использовать кеш (http 304).