TL;DR, Réponse rapide
9 min de lectureUn cookie persistant porte un attribut Expires ou Max-Age et reste jusqu'à l'échéance de ce délai. Un cookie de session ne porte ni l'un ni l'autre et, selon RFC 6265, vit jusqu'à ce que "the current session is over", au sens où le navigateur l'entend. La spécification ne définit jamais la session, et MDN avertit que les navigateurs dotés de la restauration de session peuvent garder les cookies de session "indefinitely". Les cookies persistants ont désormais un plafond : le brouillon rfc6265bis limite leur durée à 400 jours, ce que Chrome applique depuis la version 104 d'août 2022, et Safari plafonne à 7 jours les cookies persistants écrits par document.cookie. Pour le consentement dans l'UE, le groupe de travail Article 29 a jugé que les cookies de session first-party ont beaucoup plus de chances d'être exemptés que les cookies persistants third-party, tout en insistant sur le fait que c'est la finalité, et non la durée, qui tranche.
Quelle est la différence entre un cookie de session et un cookie persistant ?
Toute la différence entre cookie de session vs cookie persistant tient à un attribut : un cookie persistant a une date Expires ou un Max-Age en secondes, et un cookie de session n'a ni l'un ni l'autre. RFC 6265, le standard actuel des cookies, indique qu'un cookie sans aucun de ces attributs est conservé jusqu'à ce que "the current session is over" (as defined by the user agent). Un cookie doté de l'un ou l'autre attribut est conservé jusqu'à l'échéance de ce délai, ou jusqu'à ce que le navigateur ou l'utilisateur le supprime avant.
Set-Cookie: sid=31d4d96e407aad42; Path=/; Secure; HttpOnly
Set-Cookie: lang=en-US; Max-Age=2592000; Path=/La première ligne pose un cookie de session. La seconde pose un cookie persistant qui dure 2,592,000 secondes, soit 30 jours. Le nom du cookie ne joue aucun rôle. Un cookie appelé session_id avec un Max-Age est persistant, et un cookie appelé remember_me sans expiration est un cookie de session.
| Cookie de session | Cookie persistant | |
|---|---|---|
| Attribut qui en décide | Ni Expires ni Max-Age | Expires ou Max-Age présent |
| Drapeau interne de RFC 6265 | persistent-flag à false | persistent-flag à true |
| Supprimé quand | "the current session is over", au sens où le navigateur l'entend | Le délai d'expiration est dépassé |
| Survit à un redémarrage du navigateur | Pas selon la spécification, mais la restauration de session peut le garder | Oui |
| Durée de vie maximale | Illimitée tant que la session est restaurée | 400 jours selon rfc6265bis et dans Chrome |
ITP de Safari quand il est posé par document.cookie | Pas concerné, reste un cookie de session | Plafonné à 7 jours |
| En navigation privée | Supprimé avec la session privée | Traité comme un cookie de session |
Comment un navigateur décide-t-il quel type de cookie il a reçu ?
Un navigateur décide en lisant les attributs dans l'ordre, comme le prévoit l'algorithme de stockage de la section 5.3 de RFC 6265. Si le cookie a un Max-Age, le navigateur met son persistent-flag à true et utilise Max-Age pour l'expiration. Sinon, s'il a un Expires, le drapeau passe à true et Expires fixe l'expiration. Sinon, le drapeau est à false, et l'expiration est fixée à "the latest representable date."
Dans la spécification, un cookie de session a donc la date d'expiration la plus lointaine possible, et seul son persistent-flag à false provoque sa suppression. La même section dit : "When 'the current session is over' (as defined by the user agent), the user agent MUST remove from the cookie store all cookies with the persistent-flag set to false."
Deux autres règles comptent en pratique :
Max-Agel'emporte surExpires. Section 4.1.2.2 : "If a cookie has both the Max-Age and the Expires attribute, the Max-Age attribute has precedence and controls the expiration date of the cookie."- Zéro supprime. Selon la section 5.2.2, un
Max-Agede0ou moins fixe l'expiration à "the earliest representable date and time", donc le cookie est supprimé immédiatement. EnvoyerMax-Age=0est la façon standard de supprimer un cookie depuis le serveur.
Les deux pages de MDN sur les cookies ne s'accordent pas sur l'horloge qu'utilise une date Expires. Le guide des cookies HTTP dit que les dates Expires sont "relative to the client the cookie is being set on", si bien qu'un serveur à une autre heure peut provoquer des erreurs. La référence Set-Cookie dit que le serveur fixe Expires "with a value relative to its own internal clock", et que Firefox et les navigateurs basés sur Chromium corrigent l'écart d'horloge grâce à l'en-tête Date, alors que la spécification "does not indicate if/how the value should be corrected by the recipient." Le conseil du guide vaut dans les deux cas : Max-Age est "less error-prone", parce qu'il compte les secondes à partir du moment où le navigateur reçoit le cookie.
Quand une session se termine-t-elle vraiment ?
Aucun standard ne dit quand une session se termine, et c'est pour cela que les cookies de session ne se comportent pas comme leur nom le laisse penser. RFC 6265 laisse la question au navigateur avec la formule "as defined by the user agent", qui apparaît à la fois dans la section sur les attributs et dans celle sur le stockage.
Les deux pages de MDN sur les cookies décrivent le résultat par les deux bouts. La référence Set-Cookie dit qu'une session "finishes when the client shuts down, after which the session cookie is removed", puis ajoute un avertissement : les navigateurs dotés d'une fonction de restauration de session restaurent aussi les cookies de session, "as if the browser was never closed." Le guide des cookies HTTP va plus loin : "The browser defines when the 'current session' ends, and some browsers use session restoring when restarting. This can cause session cookies to last indefinitely."
Avec la restauration de session activée, un cookie de session peut survivre à un cookie persistant qui expire au bout d'une semaine. Un code qui considère un cookie de session comme une garantie de déconnexion dépend d'un réglage du navigateur qu'il ne peut pas voir, alors faites aussi expirer l'authentification côté serveur.
Un cookie de session n'a pas non plus de rapport avec une session en analytics. Google Analytics 4 stocke l'état de sa session dans un cookie nommé _ga_<container-id>, que son centre d'aide liste avec une expiration par défaut de 2 ans et la description "Used to persist session state." La session analytics est une fenêtre de temps que l'outil calcule, présentée dans ce qui compte comme une session. Le cookie qui s'en souvient est persistant.

Combien de temps un cookie persistant peut-il durer ?
Un cookie persistant peut durer jusqu'à 400 jours dans Chrome et dans le brouillon qui remplacera RFC 6265. RFC 6265 ne fixait aucune limite haute. Son successeur, draft-ietf-httpbis-rfc6265bis-22 daté du 1er décembre 2025, que le datatracker de l'IETF montre dans la file d'attente du RFC Editor, ajoute la section 5.5 : le navigateur "MUST limit the maximum age of the cookie", et "The limit SHOULD NOT be greater than 400 days (34560000 seconds) in the future." Un Expires ou un Max-Age au-delà de la limite "MUST be reduced to the limit."
Chrome applique déjà ce plafond. Le blog Chrome for Developers indique : "As of Chrome release M104 (August 2022) cookies can no longer set an expiration date more than 400 days in the future." Les deux chiffres publiés entrent donc en conflit. Google Analytics documente des durées par défaut de 2 ans pour _ga et _ga_<container-id>, et Chrome, qui vient aussi de Google, ramène toute date de ce type à 400 jours au moment de stocker le cookie.
Safari fixe un plafond bien plus court pour un type de cookie. L'annonce d'Intelligent Tracking Prevention 2.1 par WebKit, le 21 février 2019, dit : "All persistent client-side cookies, i.e. persistent cookies created through document.cookie, are capped to a seven day expiry." Le même article ajoute : "Session cookies are not affected, they remain session cookies." Les cookies posés par l'en-tête Set-Cookie d'un serveur échappent à cette règle. L'ensemble des règles de Safari se trouve dans comment fonctionne la limite de 7 jours des cookies Safari.
RFC 6265 demande aussi aux serveurs de se retenir. La section 7.3 dit que les serveurs "SHOULD promote user privacy by selecting reasonable cookie expiration periods based on the purpose of the cookie", et donne un exemple qui brouille le vocabulaire : "a typical session identifier might reasonably be set to expire in two weeks." Autrement dit, un identifiant de session vit souvent dans un cookie persistant.
Tableau de bord en temps réel
Suivi des objectifs
Suivi sans cookies

Les cookies de session et les cookies persistants ont-ils besoin d'un consentement ?
En droit de l'UE, aucun des deux n'est exempté de consentement du fait de sa durée de vie, et les deux ne sont exemptés que s'ils sont strictement nécessaires à un service demandé par l'utilisateur. L'avis 04/2012 du groupe de travail Article 29 sur l'exemption de consentement pour les cookies, adopté le 7 juin 2012, définit les deux termes : un cookie de session "est effacé automatiquement lorsque l'utilisateur ferme son navigateur", et un cookie persistant "reste stocké dans son équipement terminal jusqu'à une date d'expiration prédéfinie (qui peut être exprimée en minutes, en jours ou en plusieurs années)."
L'avis traite ensuite la durée de vie comme un indice, pas comme un critère. Il dit que les cookies de session d'origine ont "beaucoup plus de chances que les cookies persistants 'de tiers' d'être exemptés de l'obligation de consentement", et dans le même paragraphe que "Le risque pour la protection des données est inhérent à la ou aux finalité(s) du traitement plutôt qu'aux informations contenues dans le cookie." Son exemple le plus clair est la connexion. Les cookies d'authentification qui durent le temps de la session sont exemptés, mais "Les cookies de connexion persistants qui stockent un jeton d'authentification d'une session de navigation à l'autre ne sont pas exemptés", et une case "se souvenir de moi (utilisation de cookies)" est citée comme un moyen approprié d'obtenir le consentement pour ces cookies.
Les autorités nationales ajoutent des chiffres. La CNIL, dans ses recommandations sur les outils de mesure d'audience, permet à ces traceurs d'échapper au consentement uniquement si leur durée de vie est limitée, "comme c'est le cas d'une durée de treize mois", si elle n'est pas "prorogée automatiquement lors des nouvelles visites", et si les données collectées sont conservées au maximum "vingt-cinq mois". Un cookie analytics qui remet son expiration à zéro à chaque visite ne remplit pas la deuxième condition, quelle que soit la brièveté de sa durée de vie.
Pour le tableau des cookies d'une politique de confidentialité, indiquez la durée de vie de chaque cookie telle qu'elle est réellement fixée, "session" ou une durée, à côté de sa finalité et de son caractère first-party ou third-party. Les mêmes questions s'appliquent aux données conservées dans le stockage du navigateur, que traite la page sur local storage vs cookies.
Questions fréquentes
Comment faire d'un cookie un cookie de session ?
Omettez à la fois les attributs Expires et Max-Age en le posant. Le navigateur garde alors le cookie jusqu'à la fin de la session, au sens où il l'entend. La page document.cookie de MDN donne la même règle pour les cookies posés par script : si aucun des deux n'est indiqué, le cookie expire à la fin de la session.
Les cookies de session sont-ils supprimés quand je ferme un onglet ?
Non. Fermer un onglet ne met pas fin à la session du navigateur. Les cookies de session sont supprimés à la fermeture du navigateur, sauf si la restauration de session les fait revenir.
Lequel l'emporte si un cookie a à la fois Expires et Max-Age ?
Max-Age l'emporte. La section 4.1.2.2 de RFC 6265 dit que Max-Age "has precedence and controls the expiration date of the cookie." MDN ajoute que Max-Age est moins sujet aux erreurs, puisqu'une date Expires dépend d'horloges qui peuvent diverger.
Comment supprimer un cookie persistant ?
Posez à nouveau le même cookie, avec le même nom, le même domaine et le même chemin, et un Max-Age de 0 ou une date Expires passée. RFC 6265 traite un Max-Age nul ou négatif comme la date représentable la plus ancienne, donc le navigateur supprime le cookie immédiatement.
Les cookies de session protègent-ils mieux la vie privée que les cookies persistants ?
Les cookies de session ont par conception une vie plus courte, ce qui limite la durée pendant laquelle ils peuvent relier des visites. Le groupe de travail Article 29 jugeait pourtant les cookies selon leur finalité : un cookie de session utilisé pour le suivi exige un consentement, et un cookie persistant peut être exempté quand l'utilisateur a demandé ce qu'il fait.
La navigation privée transforme-t-elle les cookies persistants en cookies de session ?
Dans les faits, oui. La section 7.2 de RFC 6265 dit qu'un navigateur qui propose d'empêcher le stockage persistant "MUST treat all received cookies as if the persistent-flag were set to false", et cite la navigation privée comme une forme courante de ce réglage. Tous les cookies disparaissent à la fermeture de la session privée.
Un cookie de session est-il la même chose qu'une session dans Google Analytics ?
Non. La session d'analyse est une fenêtre de temps que l'outil calcule, et le cookie qui la mémorise est persistant. Google Analytics 4 stocke l'état de la session dans _ga_<container-id>, que son centre d'aide indique avec une expiration par défaut de 2 ans.
Combien de temps un cookie persistant peut-il durer dans Chrome ?
Jusqu'à 400 jours. Depuis Chrome M104, en août 2022, un cookie ne peut plus fixer une date d'expiration à plus de 400 jours, donc un Expires ou Max-Age plus long est ramené à cette limite. Le brouillon rfc6265bis fixe le même plafond.
Les cookies de session survivent-ils au redémarrage du navigateur ?
Pas selon la spécification, mais souvent en pratique. RFC 6265 laisse le navigateur décider de la fin de la session, et les navigateurs dotés d'une restauration de session rétablissent les cookies de session comme si le navigateur n'avait jamais été fermé. MDN prévient qu'ils peuvent ainsi durer indéfiniment.
Un cookie de connexion "se souvenir de moi" nécessite-t-il un consentement dans l'UE ?
Oui. L'avis 04/2012 du groupe de travail Article 29 indique que les cookies de connexion persistants qui stockent un jeton d'authentification entre les sessions du navigateur ne sont pas exemptés, et cite une case "se souvenir de moi (utilisation de cookies)" comme moyen d'obtenir le consentement. Les cookies d'authentification qui ne durent que la session sont exemptés.
Tableau de bord en temps réel
Suivi des objectifs
Suivi sans cookies
Cet article vous a-t-il été utile ?
Dites-nous ce que vous en pensez !
Nous voir plus souvent sur Google
Un clic définit Flowsery comme source préférée. Nos articles remontent alors dans vos À la une, en mode IA et dans les aperçus IA.
Avant de partir...
Flowsery
Des analyses orientées revenus pour votre site web
Suivez chaque visiteur, source et conversion en temps réel. Simple, puissant et sans cookies.
Tableau de bord en temps réel
Suivi des objectifs
Suivi sans cookies
Termes connexes du glossaire


Taille, expiration, accès et droit : local storage vs cookies
Comparatif local storage vs cookies d'après les spécifications : taille, expiration, envoi au serveur, HttpOnly, Secure, SameSite, ITP de Safari et ePrivacy.


Comment fonctionne le test de l'intérêt légitime du RGPD selon l'article 6(1)(f)
Les règles de l'intérêt légitime du RGPD à l'article 6(1)(f), citées depuis EUR-Lex, le test en trois étapes de l'EDPB et le cas disputé de l'analytics web.


D'où vient la limite de taille des cookies de 4096 octets
La limite de taille des cookies vaut 4096 octets de nom plus valeur dans Chrome et Firefox, 1024 octets par attribut et 180 cookies par domaine.


Ce que la conformité RGPD du session replay exige vraiment
Un audit de conformité RGPD du session replay tient à quatre points : base légale article 6, données sensibles article 9, consentement ePrivacy 5(3) et AIPD.


Ce qui casse vraiment avec SameSite Lax vs Strict vs None
Le choix entre SameSite Lax vs Strict vs None tranché par le texte du RFC et le défaut documenté de Chrome, avec l'exigence Secure et ce que chaque mode casse.


Ce que la limite de 7 jours des cookies Safari restreint vraiment
La limite de 7 jours des cookies Safari plafonne les cookies first-party posés par script, avec une limite plus courte de 24 heures après certains clics.
Articles connexes


Pourquoi votre taux de rebond GA4 n'est que le taux d'engagement inversé
Votre taux de rebond GA4 est la part des sessions non engagées. Sa définition par Google, l'écart avec Universal Analytics et où l'ajouter aux rapports.


Ce que compte le rapport des pages de destination GA4 et où il reste vide
Dans Google, le rapport des pages de destination GA4 liste la première page de chaque session. Où le trouver, ses métriques, les lignes (not set) et la source.


Comment le suivi de la recherche sur le site GA4 enregistre ce que tapent les visiteurs
Activez la recherche sur le site GA4 via la mesure améliorée, ajoutez vos paramètres, lisez la dimension Search term et suivez les recherches sans URL.

