TourDeJeu, le réseau des jeux en ligne alternatifs : jeux web multijoueurs, jeux par forum. En savoir +

Flux RSS des discussions du forum : pour les joueurs, et pour les créateurs et MJ
  Reply to this topicStart new topicStart Poll

> Cache Du Navigateur, Comment ca fonctionne
Manest
Ecrit le : Mardi 28 Novembre 2006 à 21h46
Quote Post


Ouf
*

Groupe : Membre
Messages : 503


Bonjour à tous.

Petite interrogation au sujet du cache du navigateur.

Je suis en train de me demander si je peux me permettre d'augmenter un peu le poids et la résolution des terrains de mon jeu. Les joueurs ayant tendance à faire pas mal de réfresh pour voir les modifications, je me demandais comment cela fonctionnait exactement.

Un navigateur met il systématiquement en cache ce qu'il affiche? Une fois une image mise en cache, si je fait un refresh, il se passe quoi, l'image ne se retransfère pas du serveur au client? Combien de temps ca va durer?

Donc si je fais passer mes terrains de 40Ko à 100-120Ko, la seule répercutions sera un traffic plus important sur le premier affichage? Pas sur les refreshs à gogo de mes joueurs?

Merci d'avance thumbsup.gif


--------------------
PMEmail PosterUsers Website
Top
Haiken
Ecrit le : Mercredi 29 Novembre 2006 à 02h24
Quote Post


Ouf
*

Groupe : Membre
Messages : 360


Cela dépend du navigateur, même si en théorie c'est normé par la RFC.
En pratique, il faut manipuler quelques en-têtes HTTP pour indiquer si le résultat peut être mis en cache, et pendant combien de temps. Avec apache, on peut utiliser mod_expires avec des directives dans un .htaccess par exemple.

Il y a plusieurs stratégies selon la config et la navigateur, en bref :
* soit le navigateur se fie à la date d'expiration et ne redemande pas l'image avant cette date (rarement utilisé d'après mon expérience)
* soit le navigateur envoie un entête If-Modified-Since, en fournissant la date à laquelle il a récupéré l'image, et le contenu n'est renvoyé que s'il a été modifié depuis le dernier téléchargement ; sinon un entête seul est renvoyé (quelques octets). Technique plutôt utilisée par les vieux serveurs web
* soit le navigateur envoie un entête If-None-Match, en frounissant le Etag fournit par le serveur web en même temps que l'image, et le contenu n'est renvoyé que s'il a un Etag qui a changé (donc fichier modifié sur le serveur) ; sinon un entête seul est renvoyé (quelques octets). Technique utilisée par les serveurs/navigateurs récents

Si quelqu'un a plus d'infos sur le comportement des navigateurs, je suis preneur thumbsup.gif

Donc pour répondre à ta question (et d'après mon expérience), oui, tu va n'augmenter que légèrement ton traffic (ça augmentera quand même parce pas mal de proxy/navigateurs gèrent mal ou pas du tout le cache) si tu fournis les bons entêtes au client HTTP.


--------------------
PMEmail Poster
Top
Manest
Ecrit le : Jeudi 30 Novembre 2006 à 19h14
Quote Post


Ouf
*

Groupe : Membre
Messages : 503


Merci bien, je vais mettre en place mes terrains en espérant que le cache joue bien son role.
Si quelqu'un a des infos complémentaires, elles sont le bienvenues. thumbsup.gif


--------------------
PMEmail PosterUsers Website
Top
Sybler
Ecrit le : Jeudi 30 Novembre 2006 à 22h27
Quote Post


Ouf
*

Groupe : Membre
Messages : 453


Tu peux p-e aussi penser à rendre disponible la "grande mappe" uniquement aux joueur ayant installé un pack graphique (contenant les images) sur leur disque.


--------------------
user posted image
PMEmail PosterUsers Website
Top
Manest
Ecrit le : Jeudi 30 Novembre 2006 à 22h47
Quote Post


Ouf
*

Groupe : Membre
Messages : 503


Le kit graphique est pour l'instant désactivé pour cause de Firefox récalcitrant (enfin faut simplement faire la manip suivante) mais je n'ai toujours pas eu le temps de mettre ca à jour.


--------------------
PMEmail PosterUsers Website
Top
« Sujets + anciens | Programmer | Sujets + récents »

Reply to this topicStart new topicStart Poll