Belirli bir web sitesindeki Video On-Demand ürününü önbelleğe almak istiyorum. Video için sayfayı açtığınızda, ilk önce oynatıcıyı yükler ve oynat'ı tıkladığınızda, farklı bit hızları için chunklists (medya çalma listeleri) bağlantılarını içeren çalma listesi dosyasını yükler, bu chunklistler video dosyalarına (medya segmentleri) bağlantılar içerir.Caching Video On-Demand
Sadece bir örnek: Ben asla bu dosyaların herhangi bir HIT
için
- her zaman MISS
. Cache-Control: no-cache
başlık alanı olduğundan, reply_header_access Cache-Control deny all
ve reply_header_replace Cache-Control max-age=3600
'u denedim, ancak bu yardımcı olmuyor. Sonra istek başlığında çerez bununla bir ilgisi olabileceğini düşündük - ama hayır: How does Squid deal with Cookies?
Ben şarkı listesinin Content-Length
alan 201 ila 205 arasında değişir fark etmiş - belki onunla ilgili bir şey var mı? Ancak içerideki içerik her zaman hemen hemen aynıdır - boyutu değiştirebilecek tek şey, içte (chunklist_w[random-number]_b800000.m3u8
) rastgele bir sayıya sahip chunklists bağlantılarının olduğu, rastgele bir sayının uzunluğunun genellikle 9 veya 10 olmasıdır. basamak. Neden oynatma listesi dosyasını önbellekten sunmak istiyorum, böylece tarayıcı her zaman aynı URL için istekte bulunacak ve bu URL önbelleğe alınacak ve böylece URL'leri yeniden yazmaya gerek kalmayacaktır.
Teorik olarak, çalma listesi dosyası, kökenden (proxy'ye ilk istek) ve daha sonra her zaman kalamar önbelleğinin yanı sıra yığın listelerden ve medya dosyalarından yalnızca bir kez istenmelidir, çünkü URL'ler aynı kalmaya devam eder. .
Kalamar neden bu içeriği önbellekten sunmuyor? (Öte yandan, "statik" içeriği [görüntüler, js, css] önbelleğinden kullanılır)
Güncelleme # 1: Ben de bile 20 MB maximum_object_size
4'ten MB genişleterek çalıştık tüm dosyalar 2 MB civarında olsa da. Hala hiçbirşey.
Ek bilgi:
kalamar:
rastgele sayı = 1887187059 (10 rakam)
ayrıntılı Üstbilgi:
GET [omitted] HTTP/1.1
Host: [omitted]
Proxy-Connection: keep-alive
X-Requested-With: ShockwaveFlash/21.0.0.197
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
Accept: */*
Referer: [omitted]
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6,sl;q=0.4
Cookie: PHPSESSID=jfg6j07l9i6bep37jsacig84e1; nocache=0
yanıt Üstbilgi:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Server: WowzaStreamingEngine/4.3.0
Cache-Control: max-age=86400
Date: Sat, 09 Apr 2016 14:45:53 GMT
Content-Type: application/vnd.apple.mpegurl
Content-Length: 205
X-Cache: MISS from squid3
X-Cache-Lookup: MISS from squid3:3128
Via: 1.1 squid3 (squid/3.3.8)
Connection: keep-alive
Squid olmadan
:
rastgele sayı = 204.546.888 (9 basamak)
ayrıntılı Üstbilgi:
GET [omitted] HTTP/1.1
Host: [omitted]
Connection: keep-alive
X-Requested-With: ShockwaveFlash/21.0.0.197
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
Accept: */*
Referer: [omitted]
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6,sl;q=0.4
Cookie: PHPSESSID=jfg6j07l9i6bep37jsacig84e1; nocache=0
yanıt Üstbilgi: İçerik önbellek yapılan
HTTP/1.1 200 OK
Accept-Ranges: bytes
Server: WowzaStreamingEngine/4.3.0
Cache-Control: no-cache
Date: Sat, 09 Apr 2016 14:59:56 GMT
Content-Type: application/vnd.apple.mpegurl
Content-Length: 203