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