LightREST

Composant Serveur API REST pour WinDev®
Léger.
Rapide.
Gratuit.
Sans licence Serveur.

Les statuts HTTP

La classe lrResponse implémente une liste complète des statuts HTTP qu’une procédure REST peut retourner dans lrResponse:Status

Statuts couramment utilisés :

ConstanteValeurMessageDescription
StatusOK200OKRequête traitée avec succès. La réponse dépendra de la méthode de requête utilisée.
StatusNoContent204No ContentRequête traitée avec succès mais pas d’information à renvoyer.
StatusBadRequest400Bad RequestLa syntaxe de la requête est erronée.
StatusUnauthorized401UnauthorizedUne authentification est nécessaire pour accéder à la ressource.
StatusForbidden403ForbiddenLe serveur a compris la requête, mais refuse de l’exécuter. Contrairement à l’erreur 401, s’authentifier ne fera aucune différence. Sur les serveurs où l’authentification est requise, cela signifie généralement que l’authentification a été acceptée mais que les droits d’accès ne permettent pas au client d’accéder à la ressource.
StatusNotFound404Not FoundRessource non trouvée.
StatusMethodNotAllowed405Method Not AllowedMéthode de requête non autorisée.
StatusInternalServerError500Internal Server ErrorErreur interne du serveur.

Liste complète :

ConstanteValeurMessageDescription
StatusContinue100ContinueAttente de la suite de la requête.
StatusSwitchingProtocols101Switching ProtocolsAcceptation du changement de protocole.
StatusProcessing102ProcessingTraitement en cours (évite que le client dépasse le temps d’attente limite).
StatusEarlyHints103Early HintsDans l’attente de la réponse définitive, le serveur renvoie des liens que le client peut commencer à télécharger.
StatusOK200OKRequête traitée avec succès. La réponse dépendra de la méthode de requête utilisée.
StatusCreated201CreatedRequête traitée avec succès et création d’un document.
StatusAccepted202AcceptedRequête traitée, mais sans garantie de résultat.
StatusNonAuthoritativeInfo203Non-Authoritative Informationnformation renvoyée, mais générée par une source non certifiée.
StatusNoContent204No ContentRequête traitée avec succès mais pas d’information à renvoyer.
StatusResetContent205Reset ContentRequête traitée avec succès, la page courante peut être effacée.
StatusPartialContent206Partial ContentUne partie seulement de la ressource a été transmise.
StatusMultiStatus207Multi-StatusRéponse multiple.
StatusAlreadyReported208Already ReportedLe document a été envoyé précédemment dans cette collection.
StatusContentDifferent210Content DifferentLa copie de la ressource côté client diffère de celle du serveur (contenu ou propriétés).
StatusIMUsed226IM UsedLe serveur a accompli la requête pour la ressource, et la réponse est une représentation du résultat d’une ou plusieurs manipulations d’instances appliquées à l’instance actuelle.
StatusMultipleChoices300Multiple ChoicesL’URI demandée se rapporte à plusieurs ressources.
StatusMovedPermanently301Moved PermanentlyDocument déplacé de façon permanente.
StatusFound302FoundDocument déplacé de façon temporaire.
StatusSeeOther303See OtherLa réponse à cette requête est ailleurs.
StatusNotModified304Not ModifiedDocument non modifié depuis la dernière requête.
StatusUseProxy305Use Proxy (depuis HTTP/1.1)La requête doit être ré-adressée au proxy.
StatusTemporaryRedirect307Temporary RedirectLa requête doit être redirigée temporairement vers l’URI spécifiée sans changement de méthode,
StatusPermanentRedirect308Permanent RedirectLa requête doit être redirigée définitivement vers l’URI spécifiée sans changement de méthode,
StatusTooManyRedirects310Too many RedirectsLa requête doit être redirigée de trop nombreuses fois, ou est victime d’une boucle de redirection.
StatusBadRequest400Bad RequestLa syntaxe de la requête est erronée.
StatusUnauthorized401UnauthorizedUne authentification est nécessaire pour accéder à la ressource.
StatusPaymentRequired402Payment RequiredPaiement requis pour accéder à la ressource.
StatusForbidden403ForbiddenLe serveur a compris la requête, mais refuse de l’exécuter. Contrairement à l’erreur 401, s’authentifier ne fera aucune différence. Sur les serveurs où l’authentification est requise, cela signifie généralement que l’authentification a été acceptée mais que les droits d’accès ne permettent pas au client d’accéder à la ressource.
StatusNotFound404Not FoundRessource non trouvée.
StatusMethodNotAllowed405Method Not AllowedMéthode de requête non autorisée.
StatusNotAcceptable406Not AcceptableLa ressource demandée n’est pas disponible dans un format qui respecterait les en-têtes « Accept » de la requête.
StatusProxyAuthRequired407Proxy Authentication RequiredAccès à la ressource autorisé par identification avec le proxy.
StatusRequestTimeout408Request Time-outTemps d’attente d’une requête du client, écoulé côté serveur. D’après les spécifications HTTP : « Le client n’a pas produit de requête dans le délai que le serveur était prêt à attendre. Le client PEUT répéter la demande sans modifications à tout moment ultérieur »15.
StatusConflict409ConflictLa requête ne peut être traitée à la suite d’un conflit avec l’état actuel du serveur.
StatusGone410GoneLa ressource n’est plus disponible et aucune adresse de redirection n’est connue.
StatusLengthRequired411Length RequiredLa longueur de la requête n’a pas été précisée.
StatusPreconditionFailed412Precondition FailedPréconditions envoyées par la requête non vérifiées.
StatusRequestEntityTooLarge413Request Entity Too LargeTraitement abandonné dû à une requête trop importante.
StatusRequestURITooLong414Request-URI Too LongURI trop longue.
StatusUnsupportedMediaType415Unsupported Media TypeFormat de requête non supporté pour une méthode et une ressource données.
StatusRequestedRangeNotSatisfiable416Requested range unsatisfiableChamps d’en-tête de requête « range » incorrect.
StatusExpectationFailed417Expectation failedComportement attendu et défini dans l’en-tête de la requête insatisfaisante.
StatusTeapot418I’m a teapot« Je suis une théière » : Ce code est défini dans la RFC 232417 datée du 1er avril 1998, Hyper Text Coffee Pot Control Protocol.
StatusPageExpired419Page expiredRessource expirée
StatusBadMapping421Bad mapping / Misdirected RequestLa requête a été envoyée à un serveur qui n’est pas capable de produire une réponse (par exemple, car une connexion a été réutilisée).
StatusUnprocessableEntity422Unprocessable entityL’entité fournie avec la requête est incompréhensible ou incomplète.
StatusLocked423LockedL’opération ne peut avoir lieu car la ressource est verrouillée.
StatusMethodFailure424Method failureUne méthode de la transaction a échoué.
StatusTooEarly425Too EarlyLe serveur ne peut traiter la demande car elle risque d’être rejouée.
StatusUpdateRequired426Upgrade RequiredLe client devrait changer de protocole, par exemple au profit de TLS/1.0.
StatusInvalidDigitalSignature427Invalid digital signatureLa signature numérique du document est non-valide.
StatusPreconditionRequired428Precondition RequiredRFC 658520 : La requête doit être conditionnelle.
StatusTooManyRequests429Too Many Requestsle client a émis trop de requêtes dans un délai donné.
StatusRequestHeaderFieldsTooLarge431Request Header Fields Too LargeLes entêtes HTTP émises dépassent la taille maximale admise par le serveur.
StatusRetryWith449Retry WithLa requête devrait être renvoyée après avoir effectué une action.
StatusBlockedByWParentalControls450Blocked by Windows Parental ControlsCette erreur est produite lorsque les outils de contrôle parental de Microsoft Windows sont activés et bloquent l’accès à la page.
StatusUnavailableForLegalReasons451Unavailable For Legal ReasonsLa ressource demandée est inaccessible pour des raisons d’ordre légal.
StatusUnrecoverableError456Unrecoverable ErrorWebDAV : Erreur irrécupérable.
StatusInternalServerError500Internal Server ErrorErreur interne du serveur.
StatusNotImplemented501Not ImplementedFonctionnalité réclamée non supportée par le serveur.
StatusBadGateway502Bad Gateway ou Proxy ErrorEn agissant en tant que serveur proxy ou passerelle, le serveur a reçu une réponse invalide depuis le serveur distant.
StatusServiceUnavailable503Service UnavailableService temporairement indisponible ou en maintenance.
StatusGatewayTimeout504Gateway Time-outTemps d’attente d’une réponse d’un serveur à un serveur intermédiaire écoulé.
StatusHTTPVersionNotSupported505HTTP Version not supportedVersion HTTP non gérée par le serveur.
StatusVariantAlsoNegotiates506Variant Also NegotiatesErreur de négociation. Transparent content negociation.
StatusInsufficientStorage507Insufficient storageEspace insuffisant pour modifier les propriétés ou construire la collection.
StatusLoopDetected508Loop detectedBoucle dans une mise en relation de ressources (RFC 584225).
StatusBandwidthLimitExceeded509Bandwidth Limit ExceededUtilisé par de nombreux serveurs pour indiquer un dépassement de quota.
StatusNotExtended510Not extendedLa requête ne respecte pas la politique d’accès aux ressources HTTP étendues.
StatusNetworkAuthenticationRequired511Network authentication requiredLe client doit s’authentifier pour accéder au réseau. Utilisé par les portails captifs pour rediriger les clients vers la page d’authentification.