/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
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

Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407862
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste