[PHP/html] refreshen van een page behalve plaatjes*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • bras
  • Registratie: Oktober 2000
  • Laatst online: 27-06 15:56
situatie:

.htaccess
code:
1
2
ExpiresActive on
ExpiresByType image/gif A2592000

Dit zou er dus voor moeten zorgen dat gifjes niet opnieuw geladen hoeven te worden

html pagina:
code:
1
<meta http-equiv="refresh" content="60; <?php print me() ?>" >

Waarbij me() een functie is die de naam van de huidige pagina terug geeft

Wat ik wil bereiken is dat de pagina door die laatste regel automatisch elke minuut gerefreshed wordt, waarbij alle gifjes niet opnieuw gelaen hoeven te worden.

Het probleem is bij een druk op de reload button van de browser, de httpd een 304 (not changed) terug geeft, maar als de pagina herlaad door die http-equiv refresh dan komen er voor alle plaatjes 200 (ok) codes voorbij, waarbij dus de gifjes weer gedownload worden.

Iemand enig idee waar dit opgelost kan worden?

"When you find yourself in the company of a halfling and an ill-tempered Dragon, remember, you do not have to outrun the Dragon...you just have to outrun the halfling."


Acties:
  • 0 Henk 'm!

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

* CrashOne let even goed op, handig om bandbreedte te sparen!

Heb er zelf ook eens over na gedacht, had toen geen oplossing en kon deze toen ook niet vinden. Ben benieuwd!

[ Voor 49% gewijzigd door CrashOne op 09-06-2003 16:45 ]

Huur mij in als freelance SEO consultant!


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

mbt de php in de HTML code; je kunt ook $PHP_SELF opvragen en een echo kun je snel doen door:
code:
1
<?=$PHP_SELF?>

Ik zie dat je je .htacccess direct uit de manual hebt getrokken; dat zou dus moeten werken :)
Heb je het al eens met verschillende browsers geprobeerd? Ik kan me voorstellen dat er daar wat verschillen inzitten; en dat het niet zozeer aan de serverkant ligt. Tenslotte doet de browser een ander type request dan als je op de Reload button klikt :?
3o4 - Not Modified: Client has a cached document and performed a conditional request (usually by supplying an If-Modified-Since header indicating that it only wants documents newer than a specified date). Server wants to tell client that the old, cached document should still be used.

[ Voor 32% gewijzigd door Spider.007 op 09-06-2003 16:49 ]

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • bras
  • Registratie: Oktober 2000
  • Laatst online: 27-06 15:56
ik heb ook getest met firebird en die geeft dezelfde meldingen in de access.log

heeft tweakers frontpage hier iets voor omdat die ook een auto reload doen en een bunch plaatjes hebben.

edit:

oooh ja, vergeten te zeggen, ik wil geen javascript oplossing (set timeout oid) omdat de helft van de gebruikers van de pagina hun javascript uit hebben staan

[ Voor 33% gewijzigd door bras op 09-06-2003 17:07 ]

"When you find yourself in the company of a halfling and an ill-tempered Dragon, remember, you do not have to outrun the Dragon...you just have to outrun the halfling."


Acties:
  • 0 Henk 'm!

Verwijderd

Is het niet zo dat de browser sowieso de header van bestand ophaalt en daarna kijkt of er verder moet worden gelezen ?

Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
Een oplossing voor je probleem waarbij je de META TAG blijft gebruiken bestaat er volgens mij niet. Het probleem is dat je nu in weze een header specificeert in je HTML document, echter de header is nog niet eens gespecificeerd bij HTTP/1.1.

Elke browser zal dus de refresh aanvraag apart behandelen. Het probleem is dus waarschijnlijk dat bij je META Refresh je browser geen If-Modified-Since header meestuurd en je server dus een HTTP 200 verstuurt.

Een oplossing tot je probleem zou een simpel javascriptje kunnen zijn. Gebruik bv een timer en als deze klaar is laat je JavaScript een redirect uitvoeren (hopen dat dit werkt ;) denk het wel eerlijk gezegd :P).

Mocht je ooit nog wel de refrest via een META TAG willen gebruiken, geloof dat ie als header gespecificeerd staat voor HTTP/1.2 :)

edit:
Zag net pas dat je eigenlijk geen JavaScript wil :+ Maarja, misschien dat je met boven gegeven informatie nog naar een andere oplossing kan zoeken.


edit:
Nog even verder gelezen en gezocht. Weet vrijwel zeker nu dat het je niet zal lukken binnen je META TAG, JavaScript is toch echt enigste oplossing.

[ Voor 18% gewijzigd door Glock op 09-06-2003 20:37 ]


Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
<?php header("Pragma: Cache"); ?>

headers kan ook via de .htaccess btw ;)

:?

[ Voor 46% gewijzigd door HunterPro op 09-06-2003 20:57 ]

Pagina: 1