Empêcher l'envoi des cookies avec les objets statiques

jamalofski
WRInaute discret
WRInaute discret
 
Messages: 219
Inscription: 3 Mar 2007

Empêcher l'envoi des cookies avec les objets statiques

Message le Mar Mai 04, 2010 9:33

Bonjour tout le monde,

J'ai découvert le plugin page speed récemment et je me suis basé la-dessus pour améliorer la vitesse de mon site. Après maintes modifs je suis arrivé à 92/100 et là j'ai le dernier point à résoudre et c'est le sujet de ma question : "Serve static content from a cookieless domain".

Comment empêcher l'envoi des cookies avec les objets statiques? je ne comprends pas déjà pourquoi c'est le cas sachant que session.auto_start est à false. Donc si j'ai bien compris, le cookies ne doit être envoyé que quand j'ouvre une session délibérément avec la fonction session_start(). Est-ce que j’ai bien compris?

Alors j'ai essayé de créer un sous-domaine static.monsite.com qui est un CNAME sur monsite.com et j'ai essayé de charger les images à partir de ce sous-domaine mais ca change rien du tout! L’explication sur le net est que si l'envoi des cookies est systématique sur le top-level domain "monsite.com", alors c'est systématiquement le cas pour les sous-domaines, yopiiiiiii!

Voila donc, si quelqu'un a une idée de comment contourner ce problème je suis preneur! L'idéal si possible sera d'éviter de prendre un nouveau nom de domaine car c'est galère à gérer!

Je vous remercie d'avance.

Cordialement,


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 808
Inscription: 15 Avr 2007

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mar Mai 04, 2010 9:49

c'est le navigateur qui envoi les cookies lors de la requete (la demande du fichier sur le serveur).
avec un sous-domaine, tu risque quand même d'avoir des cookies qui seront envoyés (les cookies GA par exemple), faut utiliser un nom de domaine spécifique pour les fichiers statiques (au risque de perdre des points au des résolution dns).

j'espère avoir répondu à ta question ;)

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mar Mai 04, 2010 10:07

L'envoi des cookies ne se fait pas forcément systématiquement sur l'ensemble du domaine, c'est contrôlé par le paramètre "domain" du header Set-Cookie, tu peux lui dire de n'envoyer que pour le www par exemple (en fait, si ce header n'est pas envoyé, il me semble que par défaut c'est bien le domaine complet seulement qui est concerné, mais tout le monde ou presque met un domain moins spécifique). Tu peux aussi limiter à une partie de l'arbo ("path"), mais ça exclut la home, ce qui n'est généralement pas super cool.

Mais comme indiqué par seebz, il y a beaucoup de conseils qui sont contradictoires: utiliser plusieurs domaines pour faire du parallel download et utiliser un domaine différent pour éviter les cookies sont contradictoires avec le fait d'utiliser moins de domaines pour limiter le nombre de requêtes DNS...

Dans le pire des cas, essaie au moins de t'assurer que tu n'as pas des tonnes de cookies énormes.

Jacques.


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mar Mai 04, 2010 11:37

pour supprimer les cookies GA pour les sous-domaines j'utilise "_setDomainName" (pour la version asynchrone) :
Code: Tout sélectionner
var _gaq=_gaq||[];
_gaq.push(["_setAccount","UA-3319516-1"]);
_gaq.push(["_setDomainName",document.location.host]);
_gaq.push(["_trackPageview"]);
(function(){
   var a=document.createElement("script");
   a.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";
   a.setAttribute("async","true");
   document.documentElement.firstChild.appendChild(a)
})();

jamalofski
WRInaute discret
WRInaute discret
 
Messages: 219
Inscription: 3 Mar 2007

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mar Mai 04, 2010 13:21

je vous remercie tous de vos réponses.

Au fil de vos réponse, j'ai commencé à comprendre ce qui se passe. J'ai regardé le contenu des cookies pour une image téléchargée à partir du domaine www.monsite.com et ce cookies contient une référence à la session utilisateur

Code: Tout sélectionner
"__utma=XXX; sid=yyy; __utmc=zzz"

et quand je regarde le cookie lié à mon sous-domaine static.monsite.com, il n'y a pas de référence session
Code: Tout sélectionner
"__utma=XXX; __utmc=zzz"

Donc le site n'a rien envoyé en réalité, ce sont alors les gestionpub, GA et éventuellement addthis qui me posent ces problèmes. Au moins maintenant je sais ce qui cloche.

Pour y remédier je vais procéder comme suit : dans la config php, je vais renseigner la rubrique session.cookie_domain pour mettre www.monsite.com (ce qui évitera toute interaction avec les sous-domaines), et ensuite je vais modifier le code de GA pour y ajouter aussi "_setDomainName" comme proposé par forty. Ça n'éliminera peut être pas tous les cookies inutiles mais ca va au moins réduire leurs nombres ou leurs contenus.

Alors je vais essayer ça ce soir et je poste les résultats de mes tests, mais dans tous les cas je vous remercie tous de vos réponses.

Cordialement,

jamalofski
WRInaute discret
WRInaute discret
 
Messages: 219
Inscription: 3 Mar 2007

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mer Mai 05, 2010 13:25

Bonjour,

les modifications ont été effectuées :

Configuration php :
Code: Tout sélectionner
session.cookie_domain = "www.monsite.com"

Ajout dans GA :
Code: Tout sélectionner
_gaq.push(["_setDomainName",document.location.host]);

Résultat : Les objets sont toujours envoyés au navigateur avec des cookies avec une impression que les données des cookies GA ont doublés de taille. En effet, les informations sont stockées deux fois, une premiere fois avec le domaine ".www.monsite.com" et une deuxieme avec le domaine ".monsite.com".

Je vous avoue que là, je ne comprend plus rien!


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mer Mai 05, 2010 14:03

il faut supprimer les anciens cookies normalement


hebmaster
WRInaute passionné
WRInaute passionné
 
Messages: 1133
Inscription: 22 Déc 2005

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mer Déc 08, 2010 3:19

@jamalofski : tu as trouvé une solution à ton problème?

jamalofski
WRInaute discret
WRInaute discret
 
Messages: 219
Inscription: 3 Mar 2007

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Lun Déc 13, 2010 11:00

Bonjour,

Toutes les modifications que j'ai effectué n'ont servi à rien! Alors j'ai pris un nouveau nom de domaine réservé aux objets statiques, puis :

www1.domainestatique.com CNAME http://www.monsite.com

Ensuite il suffit de remplacer dans le code ou ajouter une règle dans .htacces pour télécharger les images de www1.domainestatique.com au lieu de http://www.monsite.com et ça marche très bien. Un autre avantage de cette solution est que le navigateur télécharge les objets de la même pages à partir de plusieurs adresses ce qui accélère encore plus la page. Ceci répond à la contrainte "Parallelize downloads across hostnames" de page speed (Regarde mon WWW).

P.S : Désolé de ne pas réponde plus tôt mais je viens de voir ta question.

miu2rennes
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 10
Inscription: 4 Nov 2009

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mer Jan 05, 2011 15:49

Bonjour,

Est-ce vraiment valable du coup de prendre un nouveau domaine, sur un petit site, pour y gagner les quelques points Google Page Speed ou YSlow?
Est-ce que la vitesse de chargement sera si importante à l'avenir qu'il sera nécessaire d'avoir une note >95?

Tchinkatchuk
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 291
Inscription: 22 Avr 2003

Re: Empêcher l'envoi des cookies avec les objets statiques

Message le Mer Jan 05, 2011 16:41

On a pas d'indications sur le taux a atteindre.
Mais je pense que passer 90% -- pour un petit site sans gros moyen -- c'est déjà bien.
Ensuite, tout dépend du rapport temps passé / estimation du gain (qui est objective mais prendra de plus en plus d'importance)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités