Avatar billede Lasse Novice
18. maj 2014 - 16:50 Der er 3 kommentarer

Caching "If-Modified-Since" mangler

Hej alle sammen,

Jeg kan ikke faa caching til at virke paa min hjemmeside. Jeg bruger chrome til at teste headers. Chrome sender ikke "If-Modified-Since" i request 2, er der nogen der kan forklare mig hvorfor?

Request 1
GET /Documentos/Bajar/1?Type=1&FileName=Musica.pdf HTTP/1.1
Host: localhost:60746
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36
Referer: http://localhost:60746/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,es;q=0.6,da;q=0.4
Cookie: __RequestVerificationToken=JCek3bBY_Tl1wpMnFSYv45iV_TCv6j2a-uDJuvXTdyjwiq8hJDYjxtJFoqm0_r1hpmSMODcoz3iqbrUaGXawjfrlJNvfYo9ktkvsSvSj_0E1; .ASPXAUTH=7B607EBB0F9380690E81C4690CF368434B024B95F903232A8BD7CFB8BBAAE1F797B5412F70FD8DBE9DE92CF20A9FA7B35D3652105DB0EC3751CB06F05299BF7AAB69DFCC39895F8C491863449B36C9D455B20E82BEE69D096682E0A129658B4CDE8F9F75151CE4CD2003799A1AB090E2

Response 1
HTTP/1.1 200 OK
Cache-Control: public, max-age=31536000
Content-Type: application/pdf
Expires: Mon, 18 May 2015 14:41:09 GMT
Last-Modified: Sun, 18 May 2014 14:41:09 GMT
Server: Microsoft-IIS/8.0
X-AspNetMvc-Version: 5.0
Content-Disposition: attachment; filename=Musica.pdf
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcUGFvXERlc2t0b3BcVmVjaW5vc01YXHYyXFZlY2lub3NNWFxEb2N1bWVudG9zXEJhamFyXDE=?=
X-Powered-By: ASP.NET
Date: Sun, 18 May 2014 14:41:09 GMT
Content-Length: 859

Request 2
GET /Documentos/Bajar/1?Type=1&FileName=Musica.pdf HTTP/1.1
Host: localhost:60746
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36
Referer: http://localhost:60746/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,es;q=0.6,da;q=0.4
Cookie: __RequestVerificationToken=JCek3bBY_Tl1wpMnFSYv45iV_TCv6j2a-uDJuvXTdyjwiq8hJDYjxtJFoqm0_r1hpmSMODcoz3iqbrUaGXawjfrlJNvfYo9ktkvsSvSj_0E1; .ASPXAUTH=7B607EBB0F9380690E81C4690CF368434B024B95F903232A8BD7CFB8BBAAE1F797B5412F70FD8DBE9DE92CF20A9FA7B35D3652105DB0EC3751CB06F05299BF7AAB69DFCC39895F8C491863449B36C9D455B20E82BEE69D096682E0A129658B4CDE8F9F75151CE4CD2003799A1AB090E2

Response 2
HTTP/1.1 200 OK
Cache-Control: public, max-age=31536000
Content-Type: application/pdf
Expires: Mon, 18 May 2015 14:42:11 GMT
Last-Modified: Sun, 18 May 2014 14:42:11 GMT
Server: Microsoft-IIS/8.0
X-AspNetMvc-Version: 5.0
Content-Disposition: attachment; filename=Musica.pdf
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcUGFvXERlc2t0b3BcVmVjaW5vc01YXHYyXFZlY2lub3NNWFxEb2N1bWVudG9zXEJhamFyXDE=?=
X-Powered-By: ASP.NET
Date: Sun, 18 May 2014 14:42:11 GMT
Content-Length: 859

Tak paa forhand.
Avatar billede erikjacobsen Ekspert
18. maj 2014 - 18:49 #1
Vel fordi den skal be' om en ny pga

  Expires: Mon, 18 May 2015 14:41:09 GMT
Avatar billede Lasse Novice
19. maj 2014 - 17:23 #2
Jeg tror ikke det er det, da expires er I 2015.

Hvis jeg ikke bruger attachment paa content-disposition, saa virker det...
Avatar billede erikjacobsen Ekspert
19. maj 2014 - 22:46 #3
Ok, plus/minus et års tid ...

Den havde jeg overset :(

Men hvis chrome beslutter ikke at cache pdf-filen alligevel, så kan den ikke spørge på if-modified-since. En grund til ikke at gøre kunne være, at man kan se, at den er genereret - typisk pga spørgsmålstegnene i URL-en.
Dette kunne undersøges ved med passende url-rewrite at kalde den for etellerandet.pdf.

Eller fordi en attachment ikke gemmes i tmp-katalog, fordi brugeren skal anvende filen med det samme.

Jeg er også nysgerrig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester