JS / CSS Önbellekleme

0 Cevap php

Http isteklerini azaltmak, hem de js / css dosyaları için, ben js ve css dosyaları birleştirme yapmak için kurulum benim php app ettik Çıkabilen sürecini kolaylaştırmak için. Tüm dosyalar sırayla her dosya için 2 harf kodu (örn. home.js code = "AA") kullanarak tek bir büyük dosya içine birleştirilir dahil. , Ben onlar yüklenir sırayla tüm kodları birleştirmek adları oluşturmak bir çizgi eklemek için sonra zaman damgası (ex "AABACE_12345678.js"). Sonra dizinde onlar php (SetHandler şarkı) ile dosyalarını ayrıştırmak için htaccess bir apache yönergesi kullanıyorum üzerinden sunulmaktadır yüzden başlıkları kontrol ve değişmez 301 başlıklarını dönebilirsiniz.

Ne yazık ki bu işe yaramıyor ... Kundakçı Net paneli ve liveHTTPHeaders ile bunun dışında bok test ettik. Önbellekte bunu olmalıdır bile sayfasında, dosyayı her zaman yükleniyor. İşte yanıt başlıklarından dosyaları getiri biri bir örnek:

Date                Wed, 14 Jul 2010 17:00:28 GMT
Cache-Control       private
Content-Encoding    gzip
Etag                "4b4a6d50f9acf924b9dce14e415f5c78"
Expires             Wed, 28 Jul 2010 17:00:28 GMT
Vary                Accept-Encoding
X-Powered-By        PHP/5.2.6
Last-Modified       Wed, 14 Jul 2010 16:59:35 GMT
Content-Length      39305
Content-Type        text/css

Not: Ben vb KeepAlive, sunucu gibi, bazı non-önbelleğe alma ile ilgili başlıkları ihmal ettik

Ben de şartlı dolayısıyla özel cache-control başlık, içerik Gzip Sıkıştırma ediyorum dikkat etmelisiniz. Ben burada ne eksik? Içeriği nedeniyle sona başlığının önbelleğe olmalıdır. Dosya için asla değiştirir ki ben bir MD5 etag üreten ediyorum, dosya + damgası vardır. Son değişiklik asla değişmez, asla değiştirmez Bitiş ....

[EDIT]

Bu yüzden daha fazla test ettikten sonra, benim css dosyaları önbelleğe alıyorsanız, ama benim javascript değil. İki AYNI başlıkların önbelleğe sahip dosyaları, (etag, sona, son değişiklik, cache-control) ancak farklı tek şey içerik türü (bir "text / css" bir "text / javascript"), SADECE css varsa önbelleğe oluyor ... sinir bozucu

0 Cevap