[ie] caching bij client side xsl transformatie

Pagina: 1
Acties:

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Topicstarter
Ik krijg sterk het gevoel dat internet explorer bij elke pagina alle xsl bestanden loopt op te halen. Het voordeel van client-side xsl transformatie is juist dat je minder bandbreedte nodig hebt doordat alleen de xml gedownload word bij opeenvolgende requests, wat nu dus totaal niet opgaat.

Hier de engelse variant van mijn vraag: http://lists.xml.org/archives/xml-dev/200310/msg00301.html alleen jammer dat er geen antwoord op is gegeven.

Ik gebruik trouwens dynamische content die eigenlijk altijd vernieuwd moet worden.

Heeft iemand hier (een positieve) ervaring mee? Staat xslt nog te veel in zijn kinderschoenen?

seweso's blog


  • Dennis
  • Registratie: Februari 2001
  • Nu online
Ik heb ooit een forum ontworpen wat in een productieomgeving draaide wat gebaseerd was op xml en xsl. Mijn ervaring was dat de xsl wél werd gecached.

Is je webserver wel goed geconfigureerd? Desnoods kun je zelf aangepaste headers meezenden.

Overigens is een voordeel van xsl natuurlijk ook de uniformiteit (uitwisselbaarheid) en de uiteindelijk lagere load op de server ;).

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Topicstarter
ddc schreef op 01 april 2004 @ 15:00:
Ik heb ooit een forum ontworpen wat in een productieomgeving draaide wat gebaseerd was op xml en xsl. Mijn ervaring was dat de xsl wél werd gecached.

Is je webserver wel goed geconfigureerd? Desnoods kun je zelf aangepaste headers meezenden.

Overigens is een voordeel van xsl natuurlijk ook de uniformiteit (uitwisselbaarheid) en de uiteindelijk lagere load op de server ;).
De xsl bestanden worden bij mij statisch geserveerd door de webserver via ssl.

Maar ja...als ik de headers moet veranderen bij het serveren van de xsl bestanden (via htaccess?) dan heb ik een beetje het gevoel dat ik in het verkeerde forum zit. Het is ook zo moeilijk, denk je dat iets een webscripting probleem is dan blijkt het aan IE te liggen en als je denkt dat het aan IE ligt moet je het bij je scripts zoeken...

seweso's blog


  • Dennis
  • Registratie: Februari 2001
  • Nu online
Je kunt het iig proberen om de cache-headers te veranderen en dan eens te kijken wat er gebeurt. Inderdaad als je apache gebruikt moet dat via .htaccess. Overigens zit je dan nog steeds in het goede forum ;).

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Topicstarter
ddc schreef op 07 april 2004 @ 11:57:
Je kunt het iig proberen om de cache-headers te veranderen en dan eens te kijken wat er gebeurt. Inderdaad als je apache gebruikt moet dat via .htaccess. Overigens zit je dan nog steeds in het goede forum ;).
Ik voel me een beetje een n00b hierzo maar eeh, corect me if i'm wrong:

Als ik https://www.wereldwijdewinkel.nl/klanten/remeha/main.xsl invoer in de adres-balk van IE en daarna ga ik naar een andere pagina en daarna ga ik weer terug, dan zie ik dat er niks word gedownload.... dan word die xsl toch gecached? Of werkt dat - als je ze vanuit een xml bestand aanroept - anders?

seweso's blog


  • Dennis
  • Registratie: Februari 2001
  • Nu online
Ik weet er te weinig van om te kunnen zeggen wat er gebeurt bij het aanroepen vanuit een xml maar wat je beschrijft lijkt erop dat er inderdaad wordt gecached. Maar het zou best kunnen dat als je xml headers heeft waarin staat dat die niet gecached moet worden (zou via php kunnen) dat de xsl dan ook opnieuw wordt aangeroepen.

Maarja je zult dus misschien toch een .htaccess met cache-dingen erin moeten verwerken of de xsl aanroepen via een php bestand, al lijkt me dat erg omslachtig.

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Topicstarter
Kort door de bocht gezegd doe ik:
PHP:
1
2
3
4
5
6
7
8
9
10
// Data mag niet gecached worden
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache");

// Ruwe xml versturen met verwijzing naar bijbehorende xsl
header("Content-type: application/xml");
return "<?xml-stylesheet type='text/xsl' href='/$xslfile'?>$xmldata";
Volgens mij zeg ik tegen IE dat de xml niet gecached moet worden, maar dat zegt niks over het wel/niet cachen van de xsl bestanden.

Ik heb al een keer de aangepaste headers voor de xml (om te zorgen dat die niet gecached word) uitgezet maar dat had geen invloed op de prestaties (nog steeds werden alle xsl bestanden gedownload).

Als ik heel simpele xslt transformaties had dan was er waarschijnlijk geen probleem, maar ik heb nu ongeveer 70 Kb in 11 xslt bestanden zitten. Als ik nu client-side xslt transformatie inschakel dan word het tonen van een pagina opeens 20x langzamer.

seweso's blog

Pagina: 1