| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Header - check af cashe Fra : Rune Jensen | 
  Dato :  28-12-09 23:33 |  
  |   
            Foranlediget af mit sidste spørgsmål, har jeg et nyt spørgsmål, som 
 (tror jeg) kan besvares ret nemt.
 
 Kan man via ASP checke, om en bruger har cashen slået til/tillader 
 cashing? Og hvordan?
 
 
 MVH
 Rune Jensen
  
            
             |   |   
            
        
 
            
         
           Stig Johansen (29-12-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  29-12-09 02:58 |  
  |   
            Rune Jensen wrote:
 
 > Kan man via ASP checke, om en bruger har cashen slået til/tillader
 > cashing? Og hvordan?
 
 Jeg ved ikke rigtig hvad man kan i ASP.
 Principielt kan man heller ikke tjekke brugerens indstillinger, men du kunne
 prøve at se om du kan få fat i ekstra headers i ASP.
 
 Hvis du kan få fat i If-Modified-since headeren, så burde der være en
 teoretisk mulighed ved at sende en Last-modified, og derefter tjekke om
 If-Modified-since bliver sendt med.
 
 Det vil i givet fald indikerer at cachen er slået til.
 
 Men så er der også det her Etag, som IIS og Apache behandler forskelligt, og
 jeg forestiller mig, at det er det der bliver brugt i ASP (og IE).
 
 Etag har jeg ikke gidet at sætte mig ind i, da jeg ikke skal bruge
 det(endnu).
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
           Rune Jensen (29-12-2009) 
         
	
            | Kommentar Fra : Rune Jensen | 
  Dato :  29-12-09 18:22 |  
  |   
            Stig Johansen skrev:
 
 > Hvis du kan få fat i If-Modified-since headeren, så burde der være en
 > teoretisk mulighed ved at sende en Last-modified, og derefter tjekke om
 > If-Modified-since bliver sendt med.
 
 Nåja, det er en idé. Jeg ved ikke rigtigt, det kræver kommunikation frem 
 og tilbage, havde håbet, det blev sendt med ved GET af hjemmesiden. Men 
 jeg har kigget mig lidt omkring, du har nok ret. Det er ikke bare noget, 
 man lige gør.
 
 > Etag har jeg ikke gidet at sætte mig ind i, da jeg ikke skal bruge
 > det(endnu).
 
 Det er jeg netop også stødt på nogle gange. Jeg kan bare ikke finde ud 
 af at bruge det... eller hvor vigtigt det er. Cashing lader til at være 
 et emne, som ikke kan forklares nemt.
 
 Men OK, jeg udsætter det lidt, for i øjeblikket tager jeg det, som 
 ligger lige for. Det var også bare en tanke.
 
 Tak for svar.
 
 
 MVH
 Rune Jensen
  
            
             |   |   
            
        
 
            
         
            Stig Johansen (29-12-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  29-12-09 23:42 |  
  |   
            Rune Jensen wrote:
 
 > Nåja, det er en idé. Jeg ved ikke rigtigt, det kræver kommunikation frem
 > og tilbage, havde håbet, det blev sendt med ved GET af hjemmesiden.
 
 Jamen det _er_ jo det, det gør, på en måde.
 Man kan ikke tjekke om browseren har slået cachen til, men for de GET
 request, der ligge i cachen tilføjes If-Modified-Since i headeren.
 
 Det er på den måde en webserver virker med pseudo kode:
 if header(IF-modefied-Since) then
    if ændringsdato <= IF-modefied-Since then
       skriv 304 not modified
    else 
       send fil
    end if
 else
    send fil
 end if
 
 > Men 
 > jeg har kigget mig lidt omkring, du har nok ret. Det er ikke bare noget,
 > man lige gør.
 
 I mine egne webserver, som jeg skriver selv, er det bare noget man gør, men
 det er jo indbygget i Webserveren, og sendes normalt ikke ned til
 applikationen (her ASP).
 
 Så disse ting har man ikke adgang til, dog har jeg ikke testet hvad der sker
 hvor man sender en Last-modified med en ASP side.
 
 > Det er jeg netop også stødt på nogle gange. Jeg kan bare ikke finde ud
 > af at bruge det... eller hvor vigtigt det er. 
 
 Som sagt har jeg ikke rigtig gidet at sætte mig ind i Etag, for jeg bruger
 kun Last-modified.
 
 Ikke, at jeg ikke 'gider', men da IIS og Apache bruger det forskelligt, vil
 jeg formode, at det også opfører sig forskelligt i de respektive browsere.
 
 > Cashing lader til at være 
 > et emne, som ikke kan forklares nemt.
 
 Jo, det er nemt at forklare.
 Det går blot ud på, at browseren har en lokal kopi af en given fil.
 Hvis den har en kopi ('cache'), siger den til serveren:
 Send mig filen hvis den er ændret siden sidst (If-modified-since).
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
             Rune Jensen (30-12-2009) 
         
	
            | Kommentar Fra : Rune Jensen | 
  Dato :  30-12-09 00:38 |  
  |   
            Stig Johansen skrev:
 
 > Så disse ting har man ikke adgang til, dog har jeg ikke testet hvad der sker
 > hvor man sender en Last-modified med en ASP side.
 
 Så jeg kan for så vidt bare tage den nyeste fil, som har med siden at 
 gøre, kigge på sidste ændringsdato på serveren, og så sende en 
 last-modified... - så sender browseren (måske) en if-modified-since 
 tilbage, hvis den har cashe slået til...?
 
 Det, du mener?
 
 Det vil nok kunne lade sig gøre, men så vil jeg først bruge det på 
 galleriet, hvor der er mange store billeder, nok ikke på andre sider, 
 for der skal vel laves individuelle tjek, så.
 
 
 MVH
 Rune Jensen
  
            
             |   |   
            
        
 
            
         
              Stig Johansen (30-12-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  30-12-09 02:24 |  
  |   
            Rune Jensen wrote:
 
 > Så jeg kan for så vidt bare tage den nyeste fil, som har med siden at
 > gøre, kigge på sidste ændringsdato på serveren, og så sende en
 > last-modified... - så sender browseren (måske) en if-modified-since
 > tilbage, hvis den har cashe slået til...?
 > 
 > Det, du mener?
 
 Ja, det er det jeg gør på min server, bortset fra det er tjek på hver eneste
 fil.
 
 Du kan godt fabrikere en last-modified i ASP, og jeg vil også tro, at
 browseren sender en if-modified-since med, men jeg tvivler på du kan få fat
 i den header i ASP.
 
 Jeg mener jeg forsøgte at bruge heraders i forbindelse med Gonzales/ajax,
 men der kendte ASP ikke 'custom headers'.
 
 if-modified-since er ikke en 'custom header', men du må prøve dig frem for
 at se om du kan få fat i den.
 
 > Det vil nok kunne lade sig gøre, men så vil jeg først bruge det på
 > galleriet, hvor der er mange store billeder, nok ikke på andre sider,
 > for der skal vel laves individuelle tjek, så.
 
 Billeder gå uden om ASP, så der ordnes caching automatisk mellem browseren
 og IIS'en.
 Det eneste du kan påvirke er selve ASP'en (dvs. HTML'et).
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
               Rune Jensen (30-12-2009) 
         
	
            | Kommentar Fra : Rune Jensen | 
  Dato :  30-12-09 10:02 |  
  |   
            Stig Johansen skrev:
 > Rune Jensen wrote:
 
 >> Det vil nok kunne lade sig gøre, men så vil jeg først bruge det på
 >> galleriet, hvor der er mange store billeder, nok ikke på andre sider,
 >> for der skal vel laves individuelle tjek, så.
 > 
 > Billeder gå uden om ASP, så der ordnes caching automatisk mellem browseren
 > og IIS'en.
 > Det eneste du kan påvirke er selve ASP'en (dvs. HTML'et).
 
 OK, men min tanke i første omgang var bare, at servere en minimalistisk 
 side for galleriet (grundlæggende bare nogle mindre pyntebilleder), hvis 
 der ikke understøttes cashing. Galleriet har ikke bare pynt for over 
 100kb, hertil skal lægges selve billederne fra galleriet...
 
 Det giver mindst 15-20 sekunders download her uden cashing...
 ;)
 
 Hovedsagen er bare, at indsatsen skal stå mål med resultatet, så der er 
 nok interessant, hvor mange medier, som ikke understøtter cashing; Jeg 
 vil selvfølgelig gerne tage hensyn til det, hvis det er nødvendigt. Små 
 linjer kan jeg nok ikke teste for.
 
 Jeg lavede lige en test af "Incognito Mode" i Chrome, da jeg tænkte det 
 måske påvirkede cashing, men det giver overhovedet ingen forskel. Måske 
 fordi der cashes "midlertidigt" så længe "Incognito Vinduet" er åbent. 
 Eller også er min linje igen oppe på fuld højde ;)
 
 Men jeg arbejder lidt videre med det.
 
 
 
 MVH
 Rune Jensen
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |