J'ai lu qu'il est préférable de diffuser du contenu statique (CSS, Javascript, etc.) à partir d'un domaine ou d'un sous-domaine sans cookie pour de meilleures performances. Je suppose qu'un domaine n'est pas sans cookie par défaut. Comment spécifier que je ne souhaite pas utiliser de cookies?
24
Réponses:
Lorsque des choses comme YSlow et Page Speed vous demandent de configurer des domaines sans cookie, cela signifie en fait servir des médias à partir d'un domaine où vous n'en définirez pas ou n'en avez pas défini (globalement) dans le passé. Parfois, cela peut être accompli en utilisant des sous-domaines, tels que
media.domain.com
, oustatic.domain.com
, cependant, si vous définissez un cookie surdomain.com
qui s'applique au domaine dans son ensemble - un cookie pour*.domain.com
- alors ce cookie sera renvoyé par le client au serveur sur chaque demande pour chaque domaine associé àdomain.com
. Cela inclut tous les sous-domaines.Le cookie global devient un problème si vous décidez de renoncer à l'utilisation de
www.
sur vos domaines. Sans un sous-domaine spécifique pour lequel définir un cookie, tous les cookies doivent être définis*.domain.com
pour qu'ils fonctionnent.Ce problème de cookie mondial est la raison pour laquelle vous verrez des médias statiques servis à partir d'endroits comme
ytimg.com
sur YouTube.ytimg.com
ne diffusera jamais de contenu dynamique pouvant définir des cookies, ce qui signifie qu'aucun cookie ne sera jamais renvoyé du client au serveur lorsque ces domaines font partie des requêtes HTTP.Si vous êtes certain que vous n'aurez jamais défini de cookie,
*.domain.com
vous pouvez utiliser un sous-domaine pour vos besoins. Sachez que la plupart du temps, si vous vous intégrez à un autre site ou service via Javascript, ils installent des cookies de domaine mondiaux.Dans Apache (et je suis sûr que tous les autres serveurs Web), vous pouvez définir ou supprimer les en-têtes avant de répondre aux demandes. Cela ne résoudra pas le problème de l'envoi du cookie par le client à votre serveur, mais cela empêchera vos domaines d'envoyer ou de définir initialement des cookies. Un problème uniquement si vous diffusez du contenu qui n'est pas statique à partir de vos domaines sans cookie, ce qui va à l'encontre de leur objectif.
Cela supprimera les en-têtes des cookies existants et pour la création de nouveaux cookies. Encore une fois, seulement un problème si vous diffusez du contenu de vos domaines statiques qui pourrait potentiellement créer un cookie. Placez-le dans votre site ou dans la configuration de virtualhost (qui, en fonction de votre système d'exploitation, de votre serveur et de votre version, peut avoir un certain nombre d'emplacements).
la source
Il ne s'agit pas de ce que vous devez faire pour avoir un domaine sans cookies - c'est plutôt de ce que vous devez ne pas faire ... Pour avoir un domaine sans cookies, vous devez vous assurer que votre application s'exécutant sur ce domaine ne définit aucun cookie . Cela signifie généralement ne pas avoir de connexions, ne pas avoir Google Analytics, ne pas avoir de sessions - c'est-à-dire simplement servir des médias et rien d'autre. Évidemment, cela dépend de votre configuration.
Une erreur que j'ai faite récemment est que je n'ai pas fait la distinction entre un domaine et un sous-domaine. J'ai commencé à servir tous mes médias en
http://media.example.com
pensant que c'était un domaine sans cookies mais en fait c'est un sous- domaine et j'ai trouvé beaucoup de mes cookies sur le site principalhttp://www.example.com
où ils étaient définis au niveau du domaine et donc polluaient mon sous-domaine sans cookies. Voici le lien pour savoir comment j'ai résolu ce problème: /server/160210/nginx-serve-static-content-from-a-cookieless-domainla source
www.example.net
ne seront pas envoyés àstatic.example.net
, mais les cookies de leexample.net
seront. La solution est de redirigerexample.net
verswww.example.net
.Vous n'avez pas besoin de spécifier que vous ne souhaitez pas utiliser de cookies, vous ne les utilisez tout simplement pas.
la source