Proxies sticky ou rotatifs : le contrôle de session expliqué

8 min de lecture

Proxies sticky ou rotatifs : rotation à chaque requête ou sur minuterie, quand une session sticky bat une nouvelle IP, comment les cookies réagissent à un changement d'IP, et comment tester un identifiant de session.

Les IP rotatives répartissent les requêtes sur un pool. Les sessions sticky tentent de garder une adresse pendant une fenêtre. Ce guide s'adresse à ceux qui achètent un accès proxy pour du scraping, du travail de compte ou de la QA, et qui doivent choisir un mode de session. Top Proxy est un catalogue de comparaison : nous ne vendons pas d'IP et nous ne distribuons pas de clés gratuites. Nous expliquons le mécanisme et vous renvoyons vers des fournisseurs que vous pouvez vérifier vous-même.

Le contrôle de session est indépendant de l'origine de l'IP. Un pool résidentiel peut tourner ou se maintenir. Un pool mobile aussi. Une offre datacenter est souvent vendue comme une adresse statique pour la durée de location, mais les conditions exactes dépendent du produit. Les acheteurs mélangent ces mots, puis se demandent pourquoi un parcours de paiement meurt à mi-chemin.

01Rotatif, sticky et statique : trois comportements distincts

Ces termes sont utilisés comme s'ils étaient synonymes. Ils décrivent des choses différentes.

ModeCe que fait la passerelleQui contrôle le changementUsage typique
Rotation à chaque requêteChoisit une sortie dans le pool pour chaque connexion ou requête ; elle peut renvoyer la même adresseLa passerelleRécupérations de pages indépendantes, longues listes d'URL
Rotation sur minuterieChoisit une nouvelle sortie dans le pool à la fin d'un intervalle ; le tirage peut se répéterRéglage du fournisseur ou votre paramètreParcours courts qui tolèrent un changement en cours de route
Session stickyTente de garder la même sortie tant que vous envoyez le même identifiant de sessionVous, via l'identifiant de sessionLogins, paniers, formulaires en plusieurs étapes, résultats paginés liés à des cookies
StatiqueVise à garder la même adresse d'une session à l'autre pendant la durée de locationLes conditions du produitComptes durables, listes d'autorisation
DédiéRéserve une adresse (statique ou non) à votre seul usageLes conditions du produitCas où le partage de l'IP est le problème

La colonne importante est la troisième. En rotation à chaque requête, vous ne faites rien et la passerelle retient, ce qui veut dire en général, mais pas toujours, une IP différente. En session sticky, vous envoyez un signal à chaque requête, et le fournisseur tente de le honorer. Statique décrit la continuité de l'adresse ; dédié décrit l'exclusivité. Ni l'un ni l'autre n'est une promesse contre les pannes ou les réaffectations, qui restent soumises au produit et au contrat.

Schéma comparant trois motifs de session proxy : rotation sans identifiant de session, sticky avec un identifiant, et un crawl mixte qui tourne sur les pages de listing et reste sticky pour le login et les pages de détail

Exemple schématique de la façon dont une passerelle traite les requêtes avec et sans identifiant de session. C'est un schéma éditorial, pas une mesure réseau ; les durées réelles et le basculement dépendent du fournisseur.

02Comment marche la rotation : à chaque requête ou sur minuterie

Une passerelle rotative, c'est un nom d'hôte et un port devant un grand pool. Chaque fois qu'une nouvelle session commence, la passerelle choisit une sortie dans ce pool. Sans clé de session, beaucoup de passerelles résidentielles traitent chaque connexion comme nouvelle, donc des requêtes consécutives peuvent partir d'adresses différentes, même si le pool peut aussi vous rendre une adresse que vous venez d'utiliser. Le défaut exact varie selon le fournisseur : lisez la fiche produit plutôt que de supposer.

La rotation à chaque requête convient aux tâches où chaque récupération se suffit : pages produit, documentation publique, pages de résultats, instantanés de prix. Le site n'a pas besoin que la requête suivante vienne du même foyer. C'est ce que la plupart des gens entendent par rotation de proxy pour le web scraping.

La rotation minutée se situe entre les deux. La sortie est censée tenir un nombre de minutes fixé, puis la passerelle choisit à nouveau. Certains fournisseurs l'exposent comme une plage de ports, d'autres comme un paramètre d'identifiant. Cela réduit la fréquence à laquelle la cible voit une nouvelle adresse, mais vous ne contrôlez pas le moment du basculement : un parcours qui traverse la frontière peut encore casser.

La rotation ne masque pas un client bruyant. Si votre crawler envoie une rafale de requêtes, la destination voit encore une rafale, seulement répartie sur plus d'adresses. Les limites de débit, une concurrence raisonnable et une logique de nouvelle tentative polie restent dans votre code.

03Sessions sticky ou IP statique

Une session sticky vous épingle à une sortie pendant une fenêtre, ou jusqu'à ce que vous changiez l'identifiant de session. Les fournisseurs l'encodent en général dans l'identifiant du proxy. Deux exemples documentés montrent à quel point les détails varient :

  • Les proxies résidentiels Oxylabs prennent une valeur sessid dans l'identifiant, avec un sesstime optionnel en minutes. Leur documentation de contrôle de session indique qu'une session par défaut dure 10 minutes ou se termine après 60 secondes sans requêtes, et que sesstime peut l'étendre jusqu'à 1440 minutes. Si l'IP se déconnecte, une session ordinaire passe à une autre IP et continue ; un mode sessid_oneip distinct ne tourne pas et renvoie un HTTP 502 à la place.
  • Bright Data ajoute -session-<id> à l'identifiant. Leurs options de configuration de proxy indiquent que chaque identifiant de session unique reçoit une IP unique, et qu'un drapeau -const garde le même pair, en renvoyant un 502 avec « no peer available » si ce pair tombe. La page n'indique pas de durée de session.

Une session sticky est du meilleur effort. Le pair peut se déconnecter, un opérateur mobile peut réattribuer l'adresse, et le fournisseur décide s'il change la sortie ou échoue bruyamment. Traitez toute durée de maintien comme une cible, pas comme un bail, et ne la lisez pas comme une promesse qu'un login ou un compte reste en sécurité.

Sticky n'est pas non plus la même chose que statique ou dédié. D'autres clients peuvent partager la même plage, et l'adresse peut retourner dans le pool après votre session. Si vous avez besoin de continuité d'adresse, regardez les produits statiques ou ISP ; si vous avez besoin d'exclusivité, cherchez une option dédiée. Vérifiez les conditions dans les deux cas, parce que les pannes et les réaffectations se règlent par produit. Notre guide ISP ou résidentiel couvre ce compromis.

04Cookies, logins et ce qui se passe quand l'IP change

La plupart des sites suivent un visiteur avec des cookies, pas seulement avec une IP. C'est pour cela qu'un changement d'IP en cours de parcours est risqué : le cookie dit « même utilisateur », le réseau dit « autre localisation ». Certains sites l'acceptent. D'autres le traitent comme une session volée, forcent un nouveau login, ou vident un panier.

Votre client HTTP contrôle la moitié cookies. En Python, un objet requests.Session conserve les cookies d'une requête à l'autre et réutilise les connexions, d'après la documentation d'usage avancé de Requests. L'identifiant de session du proxy contrôle la moitié IP. Ils sont indépendants. Vous pouvez garder les cookies pendant que l'IP tourne, ou garder l'IP en partant d'un pot de cookies vide. Choisissez la combinaison exprès :

  • Nouveau pot de cookies + IP rotative : casse les liens cookie et IP entre les requêtes. Bon pour un crawl sans état. C'est une configuration, pas de l'invisibilité : les empreintes de navigateur ou de client, les en-têtes et les identifiants de compte peuvent encore corréler les requêtes.
  • Un pot de cookies + IP sticky : ressemble à un visiteur qui reste sur place. Bon pour les logins, les paniers et les formulaires multi-pages.
  • Un pot de cookies + IP rotative : le mélange risqué. Un site qui lie les cookies à une IP peut vous défier ou vous déconnecter.
  • Nouveau pot de cookies + IP sticky : utile pour tester comment un site traite une adresse avant de vous connecter.

La rotation a aussi un coût au-delà des cookies : vous perdez la réputation qu'une adresse a construite auprès du site, ce qui sur certaines cibles veut dire un nouveau défi à chaque page.

Le travail de compte veut en général sticky ou statique, et souvent une origine résidentielle ou mobile. Une IP datacenter rotative est la combinaison que beaucoup de murs de login attendent déjà de l'automatisation.

05Rotation de proxy pour le web scraping : choisir le mode par tâche

La plupart des vrais crawlers utilisent les deux modes. Tournez sur les pages de listing qui n'ont pas d'état. Passez en session sticky pour les pages de détail, les logins ou tout ce qui est derrière un cookie. Cette séparation est un réglage de crawler, pas une fonctionnalité fournisseur ; le fournisseur n'a qu'à exposer les deux. Notre guide des proxies pour le web scraping couvre le reste de la décision d'achat.

TâcheMode suggéréPourquoi
Pages produit ou de recherche publiquesRotation à chaque requêtePas d'état à garder, la charge se répartit sur les sorties
Suivi de prix par régionRotation avec un filtre paysLa localisation compte, la continuité non
Login, puis quelques pagesSticky, tenir un peu plus longtemps que le parcoursCookies et IP restent cohérents
Paiement ou formulaire en plusieurs étapesSticky, nouvel identifiant de session par exécutionUn changement en cours de parcours peut réinitialiser le formulaire
Profil de navigateur de longue duréeStatique ou sticky longIl faut des heures de continuité
Liste d'autorisation sur une API partenaireStatique (dédié si l'exclusivité compte)La liste a besoin d'une adresse stable

Une règle pratique : mesurez la durée de votre parcours, réglez la fenêtre sticky un peu plus longue, et générez un nouvel identifiant de session quand le parcours se termine. Garder une session plus longtemps que nécessaire vous laisse sur une adresse qui peut déjà être signalée.

Exemple chiffré (nombres hypothétiques). Disons qu'un login plus six pages de détail prend environ 4 minutes dans vos journaux, et qu'une étape attend environ 90 secondes qu'un rapport se construise. Face au défaut documenté d'Oxylabs (10 minutes, ou 60 secondes sans requêtes), le total rentre, mais le trou de 90 secondes dépasserait la limite d'inactivité, donc la session pourrait se terminer en cours de parcours. Les correctifs sont de fixer un sesstime plus long et de vérifier comment ce fournisseur traite les pauses d'inactivité, ou de continuer à envoyer des requêtes pendant l'attente. Les autres fournisseurs ont d'autres limites : refaites ce calcul avec leurs valeurs documentées.

Si vous n'êtes pas sûr, lancez un témoin : même jeu d'URL, même origine d'IP, deux modes de session. Avant de commencer, décidez ce que vous enregistrez pour chaque exécution :

Enregistrez ceci → Pourquoi ça compte

  1. 01Identifiant de session et horodatage par requêtePermet de lier les changements d'IP aux pauses d'inactivité ou à l'expiration
  2. 02IP de sortie et paysMontre la rotation, le sticky et la dérive du pool
  3. 03Protocole (HTTP ou SOCKS5)Garde le protocole séparé de l'origine de l'IP
  4. 04Statut HTTP et pages de défiSépare les erreurs de proxy des défenses du site
  5. 05État des cookies ou du login après chaque étapeMontre si un parcours a survécu à un changement d'IP

Gardez le mode qui termine la tâche.

Les filtres pays s'appliquent encore pendant la rotation. Un pool rotatif US devrait rester aux États-Unis, mais les pools mélangés peuvent dériver : vérifiez le pays sur quelques requêtes.

06Comment tester une session sticky avec une série de requêtes

Ne vous fiez pas à une fiche produit seule. Envoyez plusieurs fois le même identifiant de session, puis des requêtes sans, et enregistrez l'IP de sortie à chaque fois. Le croquis ci-dessous utilise Python Requests. L'hôte du proxy, le format d'identifiant et l'URL d'écho d'IP sont des valeurs fictives ; remplacez-les par celles de la documentation de votre fournisseur, parce que la syntaxe de session change d'un vendeur à l'autre.

import time
from urllib.parse import quote
import requests

PROXY_HOST = "gw.example-provider.com:7777"   # placeholder
USER = "USERNAME"                              # placeholder
PASSWORD = "PASSWORD"                          # placeholder, load from your secret store
IP_ECHO_URL = "https://ip-echo.example/plain"  # placeholder endpoint that returns your IP

def proxies_for(session_id=None):
    # Session syntax is provider-specific; this mirrors a "-session-<id>" style username.
    user = f"{USER}-session-{session_id}" if session_id else USER
    # Percent-encode credentials so characters like @ or : do not break the URL.
    url = f"http://{quote(user, safe='')}:{quote(PASSWORD, safe='')}@{PROXY_HOST}"
    return {"http": url, "https": url}

def exit_ip(session_id=None):
    # Pass proxies per request: session-level proxies can be overridden by env proxy variables.
    r = requests.get(IP_ECHO_URL, proxies=proxies_for(session_id), timeout=(5, 20))
    r.raise_for_status()
    return r.text.strip()

for i in range(5):                 # bounded series, no retry loop
    print("sticky", i, exit_ip("test001"))
    time.sleep(10)

for i in range(5):
    print("no session", i, exit_ip())

La vérification TLS reste activée, c'est le défaut de Requests. L'argument proxies par requête compte : la documentation de Requests prévient que les valeurs posées sur session.proxies peuvent être écrasées par les variables d'environnement de proxy.

Lisez les résultats avec prudence :

  • La même IP sur la série sticky et des IP différentes sans identifiant de session, c'est ce que visent la plupart des passerelles résidentielles.
  • Un changement dans la série sticky avant la fenêtre annoncée est un signal à remonter au fournisseur, mais une seule exécution n'est pas une preuve. Les pairs tombent, et certains fournisseurs changent de sortie en silence par conception.
  • Un nouvel identifiant de session ne garantit pas une adresse différente. Les pools peuvent vous rendre une IP déjà vue.
  • Une seule pause d'inactivité qui termine une session ne vous dit pas le délai exact. Répétez avec des pauses différentes avant de conclure.
  • Une IP de sortie inchangée dans la série sans session ne prouve pas à elle seule que le routage a échoué. Certaines passerelles gardent une sortie par connexion.

Testez avec le même protocole qu'en production, parce que les points d'accès HTTP et SOCKS5 peuvent se comporter différemment. Notre guide SOCKS5 ou HTTP explique la différence. Pour une vérification manuelle rapide, ouvrez Mon IP à travers le proxy ; cela montre l'adresse pour cette seule requête, donc actualisez pour comparer. Le vérificateur de proxies teste un point d'accès depuis notre côté, ce qui est utile pour confirmer que le proxy répond, mais son résultat reflète d'où le vérificateur se connecte et n'isole pas les problèmes dans votre propre navigateur ou client.

07Candidats du catalogue à vérifier pour le contrôle de session

Les services ci-dessous sont des fournisseurs résidentiels ou à pool mixte de notre catalogue. Le contrôle de session est documenté pour certains d'entre eux, et les détails diffèrent. Pour chaque carte, vérifiez la documentation actuelle du fournisseur pour les modes de session proposés, la syntaxe de session, la durée maximale de maintien et ce qui se passe en basculement. Figurer ici ne veut pas dire que nous avons testé votre configuration.

SOAX — proxies résidentiels et mobiles
SOAX — proxies résidentiels et mobiles3.8218

SOAX vend des proxies résidentiels et mobiles rotatifs sur un pool de crédits partagé, avec datacenter et ISP dans les mêmes forfaits. Builder commence à $200/mois + TVA (200 crédits) ; le trafic Tier 1 est à $3/GB sur Builder.

85 pays
3,00 $US
par 1 GB
Decodo (Smartproxy) — proxies résidentiels et datacenter
Decodo (Smartproxy) — proxies résidentiels et datacenter4.22118

Decodo (anciennement Smartproxy) vend des proxies résidentiels et datacenter. Résidentiel : $4/GB sans forfait mensuel, ou packs mensuels dès $3.75/GB pour 3 GB. Paiements : cartes, PayPal, Alipay, Google/Apple Pay, crypto (avec limites).

83 pays
0,38 $US
par 1 GB
Froxy — résidentiel, mobile et datacenter
Froxy — résidentiel, mobile et datacenter4.3119

Froxy propose des proxies résidentiels, mobiles, résidentiels rapides et datacenter facturés au trafic, avec des packs mensuels et un essai payant $1.99 / 3 jours / 100 MB.

236 pays
0,96 $US
par 1 GB
Voir le site
Oxylabs — proxies résidentiels et datacenter
Oxylabs — proxies résidentiels et datacenter4.0771

Oxylabs vend des proxies résidentiels, mobiles, ISP et datacenter sous un seul abonnement mensuel dès $30. Paiements acheteur : cartes, virement, AliPay, PayPal.

10 pays
0,45 $US
par 1 GB
Bright Data — proxies résidentiels et datacenter
Bright Data — proxies résidentiels et datacenter4.41442

Bright Data est un grand réseau de proxies pour la collecte de données : IP résidentielles, mobiles, ISP et datacenter dans environ 195 pays. Le trafic résidentiel peut se payer à l'usage sans abonnement, et les adresses datacenter et ISP se vendent par packs dès 10 IP. L'accès résidentiel et mobile exige une vérification d'identité.

10 pays
5,00 $US
par 1 GB

Choisissez le rotatif quand chaque requête peut se suffire. Choisissez sticky quand la requête suivante doit ressembler au même visiteur. Choisissez statique ou dédié quand la continuité d'adresse ou l'exclusivité est ce que vous louez. L'origine d'abord, le mode de session ensuite, le fournisseur en troisième.

Quelle est la différence entre proxies sticky et rotatifs ?

Un proxy rotatif choisit une IP de sortie dans un pool par connexion, par requête ou par fenêtre de temps, donc l'adresse change en général mais peut se répéter. Un proxy sticky tente de garder la même IP de sortie tant que vous envoyez le même identifiant de session, jusqu'à expiration de la session ou disparition du pair.

Combien de temps dure une session proxy sticky ?

Cela dépend du fournisseur. Oxylabs documente un défaut de 10 minutes, extensible jusqu'à 1440 minutes, tandis que d'autres fournisseurs ont d'autres limites. Traitez toute durée de maintien comme du meilleur effort et vérifiez la documentation du fournisseur.

Un nouvel identifiant de session me donne-t-il toujours une nouvelle IP ?

Non. Un nouvel identifiant de session demande à la passerelle de démarrer une nouvelle session, mais le pool peut quand même renvoyer une adresse déjà utilisée.

Faut-il utiliser des proxies rotatifs pour le web scraping ?

Pour des pages indépendantes comme des listings ou des résultats de recherche, la rotation répartit la charge sur beaucoup de sorties. Pour tout ce qui est derrière un login ou un cookie, passez en session sticky pour cette partie du crawl.

Une session sticky est-elle la même chose qu'une IP statique ?

Non. Une session sticky emprunte une IP à un pool partagé pendant un moment. Une IP statique est censée rester la même d'une session à l'autre pendant la durée de location, et une IP dédiée est réservée à votre seul usage. Les pannes et les réaffectations restent soumises aux conditions du produit.

Pourquoi ma session sticky a-t-elle changé d'IP trop tôt ?

Le pair résidentiel ou mobile a pu se déconnecter, et certains fournisseurs déplacent automatiquement la session vers une autre IP. Répétez le test avant de conclure que le fournisseur ne respecte pas la fenêtre annoncée.