кэширование шрифтов font-face

Я использую @ font-face для встраивания шрифта, размещенного на TypeFront, но мой шрифт не кэшируется браузером (Firefox 3.6.13 и Крещение 2.30.2). Это вызывает FOUC (вспышка нестилизованного содержимого) в Firefox и MFOMT (мгновенная вспышка отсутствующего текста, я только что придумал) в Epiphany каждый раз, когда страница загружается (я в порядке с FOUC / MFOMT в первый раз страница загружается, но не каждый раз).

Я стараюсь избегать встраивания шрифта в CSS в Base64, если это возможно, и я не могу разместить шрифт самостоятельно.

Почему шрифт не кешируется? Есть ли какой-нибудь альтернативный бесплатный хостинг шрифтов, у которого нет этой проблемы?

Тестовая страница:

<!DOCTYPE html>
<html>
    <head>
        <title>TypeFront Cache Test</title>
        <style>
            @font-face {
                font-family: "Journal";
                src: url("http://typefront.com/fonts/825588825.ttf") format("truetype");
            }
            h1 {
                font-family: "Journal";
            }
        </style>
    </head>
    <body>
        <h1>Test text</h1>
    </body>
</html>

Если я наблюдаю в Firebug, вкладка Net показывает, что шрифт обслуживается со значением «200 OK» каждый раз при загрузке страницы, вместо «304 Not Modified» или других указаний на то, что используется кэшированный шрифт (например, браузер даже не пытается выполнить HTTP-запрос).

HTTP-заголовки:

Response Headers

HTTP/1.1 200 OK
Server: nginx
Date: Sat, 26 Feb 2011 12:57:18 GMT
Content-Type: font/ttf
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Status: 200 OK
Content-Transfer-Encoding: binary
Access-Control-Allow-Origin: *
Content-Disposition: attachment; filename="typefront_735a460727.ttf"
Cache-Control: max-age=31536000
Expires: Sun, 26 Feb 2012 12:57:18 GMT
Content-Encoding: gzip

Request Headers

GET /fonts/825588825.ttf HTTP/1.1
Host: typefront.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: null
14
задан Lie Ryan 26 February 2011 в 14:11
поделиться