# Liste des codes des réponses d'un serveur FTP

Les codes des réponses des serveurs FTP sont toujours constitués de 3 chiffres, et chaque chiffre a une signification particulière. Le premier chiffre indique si la réponse est correcte, mauvaise ou incomplète :
| Série | Résultat |
| 1xx | Réponse d’initiation positive L’action demandée a été correctement initiée ; Il faut toutefois attendre la prochaine réponse pour lancer une nouvelle commande. Envoyer une autre commande avant la réponse d’achèvement constituerait une violation du protocole, mais les serveurs FTP sont censés mettre en attente toute commande arrivant pendant l’exécution de la commande en cours. Ce type de réponse permet d’indiquer que la commande a été acceptée et que les connexions aux données sont en cours, notamment pour les cas où le suivi en temps réel de la commande est difficile. Le processus sur le serveur FTP peut envoyer au plus une réponse de ce type par commande. |
| 2xx | Réponse d'achèvement positif L'action demandée a été effectuée avec succès. Une nouvelle demande peut être initiée. |
| 3xx | Réponse intermédiaire positive La commande a été acceptée, mais l’action requise ne peut pas encore être exécutée, par manque d’information. L’utilisateur doit envoyer une autre commande en donnant les informations requises. Cette réponse est utilisée avec les groupes de commandes. |
| 4xx | Réponse temporaire d’achèvement négatif La commande n’a pas été acceptée, et l’action requise n’a pas eu lieu, mais l’erreur est temporaire, et l’action pourra être réessayée plus tard. L’utilisateur doit revenir au début de la séquence de commandes. Il est difficile d’attribuer une signification précise à "temporaire" ou "transitoire", surtout quand les processus côté serveur et côté utilisateur doivent se mettre d’accord sur l’interprétation à apporter. Chaque réponse de la catégorie 4xx peut avoir une valeur temporelle différente, mais l’interprétation globale est que le processus utilisateur est encouragé à réessayer. Pour déterminer si une réponse appartient à la catégorie 4xx ou 5xx (Réponse permanente négative), on considère que la catégorie 4xx est pour les réponses négatives aux commandes pouvant être relancées sans changement dans leur forme ou leurs propriétés (mêmes arguments, mêmes fichiers, même implémentation du serveur). |
| 5xx | Réponse permanente d’achèvement négatif La commande n’a pas été acceptée, et l’action requise n’a pas eu lieu. Le processus utilisateur ne doit pas répéter la même requête (dans la même séquence). Cependant, certaines erreurs "permanentes" peuvent être corrigées, et l’utilisateur peut indiquer à son processus de réinitialiser sa séquence de commandes directement à un certain moment à l’avenir (par exemple, après un changement d’orthographe, ou de statut du dossier courant). |
| 6xx | Réponse protégée La norme RFC 2228 amène le concept des réponses protégées pour améliorer la sécurité des communications utilisant le protocole FTP. Les réponses en 6xx sont encodées en Base64, et sont utilisées comme réponses pour les commandes sécurisées. Une fois correctement décodées, ces réponses se retrouvent dans les catégories ci-dessus. |
Le deuxième chiffre est un chiffre de classification et catégorise les informations suivantes :
| Séries | Résultat |
| x0x | Syntaxe Erreurs de syntaxe. |
| x1x | Information En réponse aux demandes d'information, telles que le statut ou l'aide. |
| x2x | Connexions Réponses relatives aux connexions. |
| x3x | Authentification et comptes Réponses aux authentifications et aux procédures de compte. |
| x4x | Non spécifiées RFC 959. |
| x5x | Fichier système Réponse aux actions relatives à des fichiers système du serveur. |
Liste de tous les codes de réponse connus susceptibles d'être émis par un serveur FTP.
| Code | Signification |
| 100 Series | L'action demandée est lancée, attendre une autre réponse avant de procéder à une nouvelle commande. |
| 110 | Resynchronisation des marqueurs entre le client et le serveur. |
| 120 | Service prêt dans nnn minutes. |
| 125 | Connexion établie, transfert en cours de démarrage. |
| 150 | Statut du fichier ok ; Ouverture de la connexion en cours. |
| 200 Series | Action demandée accomplie avec succès. |
| 202 | Commande non prise en charge par ce site. |
| 211 | Statut du système, ou réponse d’aide du système. |
| 212 | Statut de répertoire. |
| 213 | Statut de fichier. |
| 214 | Message d'aide sur l'utilisation du serveur ou la signification d'une commande particulière non-standard. Cette réponse est uniquement utile à un utilisateur humain. |
| 215 | Type NAME du système. |
| 220 | Service prêt pour un nouvel utilisateur. |
| 221 | Déconnexion. |
| 225 | Connexion ouverte, aucun transfert de données en cours. |
| 226 | Transfert terminé avec succès, fermeture de la connexion. |
| 227 | Mode passif. |
| 228 | Mode passif long. |
| 229 | Mode passif étendu. |
| 230 | Authentification réussie. |
| 231 | Utilisateur déconnecté. Fin de service. |
| 232 | Commande de déconnexion enregistrée. S'effectuera à la fin du transfert. |
| 250 | Action sur le fichier exécutée avec succès. |
| 257 | "PATHNAME" créé. |
| 300 Series | La commande a été acceptée, mais l'action demandée est en attente de plus amples informations. |
| 331 | Utilisateur reconnu. En attente du mot de passe. |
| 332 | Besoin d'un compte de connexion. |
| 350 | Requête en attente d’informations complémentaires. |
| 400 Series | La commande n'a pas été acceptée et l'action demandée n'a pas eu lieu, mais l'erreur est temporaire et l'action peut être demandée à nouveau. |
| 421 | Timeout |
| 425 | Impossible d'établir une connexion de données. |
| 426 | Connexion fermée ; transfert abandonné. |
| 430 | Identifiant ou mot de passe incorrect |
| 434 | Hôte demandé indisponible. |
| 450 | Le fichier distant n'est pas disponible |
| 451 | Action requise arrêtée : Erreur locale dans le traitement. |
| 452 | Action requise arrêtée : Espace de stockage insuffisant ou fichier indisponible. |
| 500 Series | Erreur de syntaxe ; commande non reconnue et l'action demandée n'a pu s'effectuer. |
| 501 | Erreur de syntaxe dans les paramètres ou les arguments. |
| 502 | Commande non implémentée. |
| 503 | Mauvaise séquence de commande |
| 504 | Commande non implémentée pour ces paramètres |
| 530 | Connexion non établie |
| 532 | Besoin d'un compte pour charger des fichiers. |
| 550 | Requête non exécutée : Fichier indisponible (ex., fichier introuvable, pas d'accès). |
| 551 | Requête arrêtée : Type de la page inconnu. |
| 552 | Requête arrêtée : Allocation mémoire insuffisante. |
| 553 | Action non effectuée. Nom de fichier non autorisé. |
| 600 Series | |
| 631 | Réponse d'intégrité protégée |
| 632 | Réponse d'intégrité et de confidentialité protégées |
| 633 | Réponse de confidentialité protégée |
| 10000 Series | Erreurs de Winsock courantes |
| 10054 | Connexion réinitialisée : Connexion fermée par l’hôte distant. |
| 10060 | Connexion impossible au serveur distant. |
| 10061 | Connexion impossible au serveur distant : Connexion refusée par le serveur. |
| 10066 | Répertoire non vide. |
| 10068 | Trop d'utilisateurs connectés. |