Sorgu içeren URL önbelleğe almayı devre dışı bırakır mı?


12

Bir URL'ye bir sorgu dizesi eklenmesi, tarayıcıların bunu asla önbelleğe almamasına neden olur mu? Örneğin, sitem böyle bir şey yapıyor:

/radar-picture.png?v=sep2013

Ve FireFox'un bu resmi asla önbelleğe almadığı anlaşılıyor; her istek üzerine indirilir.

FireFox'un istediği sürece önbelleğe almasını istiyorum. Sadece v=parametre değiştiğinde indirmeye zorlamak istiyorum .


1
Sorgu yerine dosya adını değiştirirseniz, bunu başarabilirsiniz sanırım. Şimdi dosya adı olacak radar-picture-sep2013.pngve gelecekte bir noktada değiştiğinde olacaktı radar-picture-jan2014.png. PNG'nin maksimum yaşını bir yıla yapılandırabilirsiniz, böylece dosya adı değişmedikçe tarayıcı önbelleğe alınan resmi uzun süre yükleyebilir.
vstm

Yanıtlar:


3

Statik bir kaynağa (resim, CSS veya JavaScript gibi) bir sorgu dizesi anahtar / değer çifti eklemek önbellek sorunlarına neden olabilir .

Özellikle, Firefox'tan bahsettiğinizden beri , sorununuz bir 'Önbellek çarpışması' ile ilgili olabilir, burada:

Firefox disk önbellek karması işlevleri, yalnızca 8 karakterlik sınırlarda biraz farklı olan URL'ler için çakışmalar oluşturabilir. Kaynaklar aynı anahtara sahip olduğunda, kaynaklardan yalnızca biri disk önbelleğine kalıcı olur; aynı anahtara sahip diğer kaynakların tarayıcı yeniden başlatılırken yeniden getirilmesi gerekir. Bu nedenle, parmak izi kullanıyorsanız veya programlı olarak dosya URL'leri oluşturuyorsanız, önbellek isabet oranını en üst düzeye çıkarmak için, uygulamanızın 8 karakterden fazla sınırlarda farklı URL'ler oluşturmasını sağlayarak Firefox karma çarpışma sorununu önleyin.

[Kaynak: https://developers.google.com/speed/docs/best-practices/caching ]


7
"8 karakterlik sınır" nedir ve bu çarpışmayı NASIL önleyebilirim? URL'lerim nasıl olmalı?
Andrew

2

Stackoverflow hakkındaki bu yanıt, bazı tarayıcıların, URL'de bir sorgu dizesi olduğunda bir bağlantıyı tıklamak vs adres çubuğuna girmek için farklı tepki verdiğini iddia ediyor: https://stackoverflow.com/a/85386/1145388

Test yaparken, URL çubuğundaki enter öğesini yenilemek veya vurmak yerine bağlantıları tıkladığınızdan emin olun.


2
Stackoverflow cevap eski olabilir düşünüyorum. Stil sayfalarına style.css?v=sep2013ve 150 KB'ye bir sorgu dizesi koyduğumda background-image:url('bgimage.jpg?v=sep2013');, sitede gezinmek (bağlantıları tıklatarak veya adres çubuğuna yazarak) FireFox'ta çok yavaş.
Bay Smith
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.