Si vous avez déjà exploré les codes d'état HTTP, vous avez probablement rencontré les suspects habituels comme 200 OK, 301 Moved Permanently, ou 404 Not Found. Mais de temps en temps, un étrange code apparaît, comme 305 Use Proxy.
Ce code d'état n'apparaît pas souvent en pratique. En fait, il est si rare que de nombreux navigateurs modernes ne le supportent même plus. Mais si vous travaillez avec des systèmes hérités, le débogage d'API ou des proxys, comprendre le 305 peut être précieux.
Dans cet article de blog, nous explorerons ce que signifie le code d'état 305 Use Proxy, comment il était censé fonctionner, les raisons de son déclin d'utilisation et ses implications dans les environnements web modernes. Si vous avez besoin de simuler des réponses liées aux proxys comme le 305, vous n'avez pas besoin de configurer des configurations de serveur complexes. Avec Apidog, vous pouvez facilement simuler des réponses 305, tester les comportements des proxys et valider les requêtes API en quelques clics. Le meilleur dans tout ça ? Vous pouvez le télécharger gratuitement et commencer à expérimenter dès aujourd'hui.
Maintenant, décortiquons exactement ce que signifie 305 Use Proxy, pourquoi il existe, pourquoi il a été déprécié, et comment vous pouvez encore le tester et en tirer des leçons.
Qu'est-ce que le code d'état HTTP 305 Use Proxy ?
Le code d'état 305 Use Proxy fait partie du protocole HTTP/1.1 défini dans le RFC 2616. Il indique que la ressource demandée doit être accédée via le proxy spécifié dans l'en-tête Location de la réponse.
Le code d'état 305 Use Proxy est une réponse HTTP/1.1 qui indique au client :
"Vous ne pouvez pas accéder directement à cette ressource. Au lieu de cela, vous devez vous connecter via le proxy spécifié dans les en-têtes de réponse."
Voici à quoi ressemble une réponse 305 théorique :
HTTP/1.1 305 Use Proxy
Location: <http://proxy.example.com:8080>La clé ici est l'en-tête Location. Il spécifie quel proxy le client doit utiliser pour atteindre la ressource. Cela a été conçu pour diriger explicitement les clients vers des serveurs proxy intermédiaires qui pourraient être nécessaires pour accéder à certaines localisations réseau ou gérer des fonctionnalités spéciales.
Par exemple, si une ressource se trouve derrière un proxy d'entreprise ou un service de mise en cache, un serveur pourrait indiquer au client de passer par ce proxy pour les requêtes futures.
Les origines du 305 et pourquoi il a été introduit
Lorsque la spécification HTTP/1.1 était en cours de développement, le web connaissait une croissance rapide, et les proxys étaient essentiels pour la sécurité, la mise en cache et le contrôle d'accès.
L'idée était simple :
- Les serveurs pouvaient dire : "Cette ressource n'est disponible que si vous vous connectez via un proxy."
- Les clients respectaient l'instruction et redirigeaient leurs requêtes via le proxy.
À l'époque, cela semblait être un moyen astucieux de faire respecter l'utilisation des proxys pour certaines ressources.
Comment fonctionne le 305 Use Proxy ?
Voici un exemple étape par étape de la façon dont le 305 était censé fonctionner :
Le client demande une ressource directement :
GET /secret-data HTTP/1.1
Host: example.comLe serveur répond avec 305 Use Proxy :
HTTP/1.1 305 Use Proxy
Location: <http://proxy.example.com:8080>Le client renvoie la requête, mais cette fois via le serveur proxy spécifié.
Ce flux, en théorie, permettait aux serveurs d'appliquer un accès uniquement via proxy sans configuration client manuelle. Contrairement à d'autres redirections comme 301 ou 302 qui pointent vers des emplacements de ressources alternatifs, le 305 demande spécifiquement aux clients de router la requête via un proxy.
Pourquoi le 305 Use Proxy a-t-il existé ?
Aux débuts du web, la gestion des routes réseau et des proxys était moins automatique et conviviale qu'aujourd'hui.
Le 305 a été introduit pour donner aux serveurs un moyen direct d'imposer l'utilisation d'un proxy, aidant les organisations à contrôler les flux de trafic, à appliquer des politiques de mise en cache ou à acheminer les requêtes via des services de filtrage.
L'idée était de fournir une réponse standardisée que les clients pouvaient comprendre et suivre pour effectuer correctement le proxying.
Pourquoi le 305 a été déprécié (problèmes de sécurité)
Malheureusement, la théorie et la pratique ne se sont pas bien alignées ici.
Le code d'état 305 Use Proxy a été officiellement déprécié en raison de problèmes de sécurité majeurs :
- Un serveur malveillant pouvait envoyer une réponse 305 pointant vers un proxy frauduleux.
- Le proxy pouvait alors intercepter, enregistrer ou modifier tout le trafic du client.
- Cela ouvrait la porte aux attaques de l'homme du milieu (MITM).
En raison de ces risques, les navigateurs comme Chrome, Firefox et Internet Explorer ont finalement cessé de supporter le 305 entièrement.
Aujourd'hui, il est considéré comme dangereux de se fier à ce mécanisme.
Pourquoi le 305 Use Proxy est-il considéré comme obsolète ?
Bien que le 305 ait eu un but apparemment utile, il est rarement utilisé aujourd'hui pour de multiples raisons :
- Risques de sécurité : Permettre aux serveurs de dicter les proxys peut permettre des redirections malveillantes, des attaques de l'homme du milieu ou des violations de la vie privée.
- Problèmes de support des navigateurs : Les principaux navigateurs comme Chrome, Firefox et Safari ont cessé de supporter ou ont désactivé la gestion automatique des réponses 305.
- Meilleurs mécanismes de proxy : Le réseau moderne utilise des proxys configurés, des VPN ou des proxys transparents gérés en dehors des réponses HTTP.
- Manque de demande : Les proxys sont généralement définis au niveau du client ou du réseau, et non dictés dynamiquement par les serveurs.
Pour ces raisons, la spécification HTTP/1.1 (RFC 7231) déconseille désormais l'utilisation du 305, et de nombreux clients l'ignorent.
À quoi ressemble une réponse 305 ?
Une réponse 305 typique contient le statut et un en-tête Location avec l'URL du proxy, tel que :
textHTTP/1.1 305 Use Proxy Location: <http://proxy.example.com:8080/> Content-Length: 0
Ceci indique aux clients d'utiliser http://proxy.example.com:8080/ comme proxy pour accéder à la ressource demandée.
305 vs autres codes d'état de redirection
Comprendre le 305 par rapport aux autres codes de redirection aide à clarifier son rôle unique :
| Code d'état | Description | Action du client |
|---|---|---|
| 301 Moved Permanently | Redirection permanente vers une nouvelle ressource | Rediriger directement vers la nouvelle URL |
| 302 Found | Redirection temporaire | Rediriger directement (GET ou méthode originale) |
| 303 See Other | Rediriger et forcer la méthode GET | Rediriger vers la ressource GET |
| 305 Use Proxy | Utiliser le proxy spécifié dans l'en-tête Location | Router la requête via le proxy |
| 307 Temporary Redirect | Redirection temporaire, préservant la méthode | Rediriger vers le nouvel emplacement avec la même méthode |
Alors que les 301, 302, 303 et 307 redirigent les clients directement vers différentes URL, le 305 impose spécifiquement un chemin de proxy.
Exemples concrets de 305 Use Proxy
Même si les navigateurs ont abandonné le support, certains environnements hérités utilisaient autrefois le 305.
- Intranets d'entreprise : Où certaines ressources sensibles devaient être accessibles via un proxy d'entreprise.
- Réseaux universitaires : Les bibliothèques utilisaient des proxys pour restreindre l'accès au contenu sous licence.
- Passerelles API expérimentales : Certains frameworks API ont brièvement envisagé d'utiliser le 305 pour l'application du proxy.
Aujourd'hui, cependant, la plupart de ces cas d'utilisation reposent sur la configuration du proxy au niveau du réseau ou du client, et non sur les réponses HTTP.
Alternatives modernes au 305 Use Proxy
Étant donné que le 305 est majoritairement déprécié, l'utilisation actuelle des proxys est gérée par :
- Paramètres de proxy du navigateur ou du système : Configurés manuellement ou via des scripts (fichiers PAC).
- Proxys transparents : Invisibles pour les clients, interceptant les requêtes sur le réseau.
- VPN ou pare-feu réseau : Régissant le routage du trafic sans instructions au niveau HTTP.
Ces approches sont plus sécurisées et flexibles que les proxys imposés par HTTP avec le 305.
Comment les proxys fonctionnent dans la communication HTTP
Pour mieux comprendre le 305, revenons en arrière et examinons ce que font les proxys :
- Proxys avant (Forward proxies) → Se situent entre un client et Internet. Utilisés pour la mise en cache, le filtrage ou l'anonymat.
- Proxys inverses (Reverse proxies) → Se situent entre Internet et un serveur. Utilisés pour l'équilibrage de charge, la terminaison SSL ou la sécurité.
Le 305 était destiné à l'application du proxy avant. Au lieu que le client choisisse un proxy, le serveur le dictait.
Pourquoi les développeurs rencontrent rarement le 305 aujourd'hui
En pratique, la plupart des développeurs ne verront jamais une réponse 305 dans les projets modernes car :
- Les navigateurs ne le supportent pas.
- Les API ne l'utilisent pas.
- Les administrateurs réseau configurent les proxys en dehors de HTTP.
Ceci dit, vous pourriez rencontrer le 305 dans d'anciennes documentations, des bases de code héritées ou des discussions académiques.
Comment gérer les réponses 305 en tant que développeur
Si vous rencontrez des réponses 305, par exemple, lors de l'intégration de systèmes hérités ou dans des cas particuliers, voici ce que vous devriez faire :
- Soyez prudent lorsque vous acceptez les redirections 305 pour éviter les risques de sécurité.
- Validez attentivement l'en-tête
Location. - Envisagez d'ignorer les réponses 305 si votre client ou votre navigateur ne les prend pas en charge.
- Utilisez plutôt la configuration de proxy réseau ou de navigateur pour gérer l'utilisation du proxy.
- Utilisez des outils comme Apidog pour inspecter et déboguer les réponses 305 dans les API ou les requêtes réseau.
305 Use Proxy et les tests d'API
Si vous êtes un développeur ou un testeur d'API, vous pourriez vous demander :
"Pourquoi devrais-je me soucier d'un code d'état déprécié ?"
Bonne question ! Même si le 305 n'est plus pratique aujourd'hui, il enseigne des leçons importantes sur :
- Le comportement des proxys en HTTP.
- Les risques de sécurité du routage contrôlé par le serveur.
- La manière dont les clients gèrent les codes d'état non pris en charge (ils devraient les ignorer ou les rejeter).
Pour les scénarios de test, vous pourriez toujours vouloir simuler des réponses 305 pour voir comment votre client réagit.
Tester le 305 Use Proxy avec Apidog

Apidog est un outil fantastique pour vous aider à gérer toutes sortes de codes d'état HTTP, y compris le rare 305.
Voici pourquoi Apidog est pertinent pour tester et déboguer le 305 :
- Envoyez des requêtes et capturez les en-têtes de réponse HTTP détaillés.
- Visualisez l'en-tête
Locationpour identifier les URL de proxy. - Contrôlez les requêtes de suivi pour tester les comportements des proxys.
- Automatisez les tests, en vous assurant que les API se comportent correctement avec les instructions de proxy.
Avec Apidog, vous n'avez pas besoin de configurer un véritable serveur proxy, il suffit de le simuler et de voir ce qui se passe. Téléchargez Apidog gratuitement pour acquérir une expérience pratique des réponses HTTP complexes, rendant votre flux de travail plus efficace.
Implications SEO du 305 Use Proxy
Du point de vue du SEO, le 305 est aujourd'hui sans pertinence car les robots des moteurs de recherche ne le supportent pas.
Si votre serveur retourne par erreur un 305, les robots le traiteront probablement comme une erreur et cesseront d'indexer la page.
C'est une autre raison pour laquelle vous devriez éviter d'utiliser le 305 en production.
Bonnes pratiques pour la gestion des exigences de proxy
Puisque le 305 est déprécié, que devriez-vous faire à la place ?
- Configurez les proxys au niveau du réseau ou du client (pas via HTTP).
- Utilisez des règles de pare-feu ou des VPN pour appliquer un routage sécurisé.
- Documentez les exigences de proxy pour les clients API.
- Utilisez des proxys inverses (comme Nginx, HAProxy) pour les déploiements modernes.
Implications de sécurité de l'utilisation du 305
La principale raison pour laquelle l'utilisation du 305 a disparu réside dans les considérations de sécurité :
- Les clients obéissant automatiquement au 305 pourraient être forcés de passer par des proxys malveillants.
- La confidentialité et l'intégrité des données peuvent être compromises.
- Par conséquent, les navigateurs d'aujourd'hui ne suivent pas automatiquement les redirections 305.
Lors de la conception d'API ou de services web, ne vous fiez pas au 305 pour l'application du proxy.
Alternatives au 305 Use Proxy
Au lieu de s'appuyer sur le 305, les développeurs utilisent désormais :
- Les fichiers de configuration automatique de proxy (PAC) : Pour les paramètres de proxy automatiques.
- Le WPAD (Web Proxy Auto-Discovery Protocol) : Pour les réseaux d'entreprise.
- Les proxys transparents : Configurés au niveau du pare-feu.
- Les proxys au niveau de l'application : Intégrés directement dans les clients logiciels.
Résumé des points clés concernant le 305 Use Proxy
- Il indique au client d'utiliser un serveur proxy spécifié dans l'en-tête
Location. - Principalement inclus dans les premières spécifications HTTP/1.1 mais maintenant déconseillé.
- Rarement implémenté par les navigateurs modernes.
- Généralement remplacé par les paramètres de proxy au niveau du client ou du système.
- Présente des problèmes de sécurité notables limitant son utilisation.
- Utile à comprendre pour le contexte historique ou les applications de niche.
Conclusion : Pourquoi comprendre le 305 Use Proxy est toujours important
Le code d'état 305 Use Proxy est une pièce fascinante de l'histoire de HTTP. Bien qu'il ait promis un moyen élégant d'appliquer l'utilisation du proxy, il a finalement échoué en raison de risques de sécurité.
Même si vous rencontrez rarement le code d'état HTTP 305 Use Proxy aujourd'hui, il constitue une partie significative de l'histoire de HTTP et du contrôle des proxys. En saisissant son but, son comportement et ses limites, les développeurs acquièrent une compréhension plus large de l'évolution des communications web et des mécanismes de redirection.
Aujourd'hui, c'est plus une curiosité qu'un outil pratique. Mais en tant que développeur, le comprendre vous aide à apprécier l'évolution des standards web.
De plus, si vous travaillez un jour avec des systèmes hérités, des proxys ou des environnements API avancés, connaître le 305 peut vous faire gagner du temps lors du dépannage de comportements inhabituels.
Et si vous voulez expérimenter le 305 dans un environnement sûr et contrôlé, vous n'avez pas besoin de lancer d'anciens navigateurs ou de systèmes hérités. Utilisez simplement Apidog pour le simuler et le tester facilement. Pour vous aider à explorer les codes d'état HTTP comme le 305 Use Proxy plus efficacement, téléchargez Apidog gratuitement. Apidog vous équipe d'outils puissants de test, de débogage et de documentation pour gérer en toute confiance vos API et vos flux de travail HTTP, quelle que soit leur complexité. C'est le moyen le plus simple de créer des applications résilientes et pérennes.
