Toon posts:

[CF] Bestanden aanbieden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb er al eens wat meer over gevraagd, maar nu even wat anders over hetzelfde onderwerp.

Ik sla nu vanalles op in de database, behalve de inhoud van het bestand. Die staat als een nummer op de schijf. Dit bestand is niet te bereiken van buiten, het kan alleen door CF worden ingelezen, en via de cfcontent tag aan de gebruiker worden aangeboden.

Tot zover werkt alles. Maar nu is er een vervelend ding, de browser wil bijvoorbeeld plaatjes niet cachen. Dit probleem zie ik bij meerdere websites, maar niet bij allemaal, het moet dus mogelijk zijn. Tweakers.net plaatjes worden wel gecached. Natuurlijk weet ik niet hoe die aangeboden worden, maar iig niet zoals url/blaat.gif, maar url/plaatjes/1234.

Ik roep de plaatjes zo aan: url/Download.cfm?file_id=1234.

Het zou aan het type url kunnen liggen (heet dat van t.net niet multiview?). Maar dat geloof ik niet echt, want ik heb websites gezien die werken zoals ik doe, maar waar de browser hem wel cached.

Op zommige trage verbindingen vertikt hij het helemaal, dan laat hij geeneens een plaatje zien, maar dat kan komen door een CF timeout.

In Mozilla kan je heel makkelijk kijken of het plaatje gecached is, die gebruik ik dan ook om dat te controleren.

Kent iemand het probleem? Of weet je een oplossing?

  • jochemd
  • Registratie: November 2000
  • Laatst online: 24-09 23:08
Je zou eens wat extra headers mee kunnen geven met cfheader. Begin eens met een "Cache-control" header (14.9) en een Pragma header (14.32). De nummers refereren aan de relevante secties van RFC 2616.

Verwijderd

Topicstarter
Thanks, maar wat bedoel je met RFC 2616, ik kan daar niets over vinden behalve drie documentjes die over een release gaan, waarin staat dat de cfhttp tag niet voldoet aan de RFC 2616 spec oid. Op het moment doet MM het bij mij niet zo best, zoeken gaat niet meer, livedocs is weg, en forum doet het ook niet...

Verwijderd

Topicstarter
oh nee, dit gaat over 2616 in de release notes van CF server 5.0
cfhttp follows up to five redirections on a single request. cfhttp also handles location redirection headers that do not conform to RFC 2616. (18559)

  • jochemd
  • Registratie: November 2000
  • Laatst online: 24-09 23:08

Verwijderd

Topicstarter
Ik weet niet wat er fout gaat, maar vanalles geprobeerd met cfheader, maar het werkt niet. Zelfs als ik in een gewone cfm template het volgende zet:

code:
1
2
3
4
5
6
<html>
<head>
<cfheader name="Expires" value="#DateAdd("h", 3, now())#">
</head>
<body></body>
</html>


zou ik in Mozilla expires bij meta-tags moeten zien, maar ik zie daar niets klopt dat?

  • jochemd
  • Registratie: November 2000
  • Laatst online: 24-09 23:08
Nee. het is geen meta tag, het is een HTTP header. Die worden niet weergegeven in browsers. Probeer het eens met:
code:
1
<cfheader name="Expires" value="Fri, 01 Jan 2010 16:00:00 GMT">

Verwijderd

Topicstarter
Thanx man het werkt!!(Bij die plaatjes dan, die cfm template heb nog niet geprobeerd.)

  • jochemd
  • Registratie: November 2000
  • Laatst online: 24-09 23:08
Je moet dus wel die plaatjes een andere file_ID geven als je ze voor 1 januari 2010 wijzigt >:)

Verwijderd

Topicstarter
&subaction=nocache ;)

vind het trouwens wel vaag dat <cfheader name="Expires" value="#cfdate#">niet werkt, de cfmanual geeft dat wel aan, naja zal wel een bugje zijn...

Verwijderd

Topicstarter
Dit zal wel de bedoeling van de cfmanual geweest zijn:
code:
1
2
3
<cfheader name="Expires" value="#GetHttpTimeString(now())#">
<!--- In plaats van --->
<cfheader name="Expires" value="#now()#">
Pagina: 1