4D v16.3WEB ENVOYER DONNEES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
WEB ENVOYER DONNEES
WEB ENVOYER DONNEES
La commande WEB ENVOYER DONNEES permet au serveur Web 4D d’envoyer des données HTTP “brutes”, pouvant être morcelées. Le paramètre données contient les deux parties standard d’une réponse HTTP, c’est-à-dire l’en-tête et le corps (header et body). Les données sont envoyées sans formatage préalable par le serveur. Toutefois, 4D effectue un contrôle élémentaire sur l’en-tête et le corps de la réponse afin qu’elle soit valide :
HTTP/1.1 302 Location : http://... Si vous passez uniquement : Location : http://... 4D complétera la réponse en ajoutant HTTP/1.1 302. Le paramètre optionnel * permet de déclarer que la réponse sera envoyée sous forme “morcelée” (chunked). Le découpage des réponses peut être utile lorsque le serveur envoie une réponse sans connaître sa longueur totale (par exemple si la réponse n’a pas encore été générée). Tous les navigateurs compatibles HTTP/1.1 acceptent les réponses “morcelées”. Note : Si le client Web ne prend pas en charge le protocole HTTP/1.1, 4D convertira automatiquement la réponse au format compatible HTTP/1.0 (l’envoi ne sera pas morcelé). Dans ce cas toutefois, il est possible que le résultat ne corresponde pas à vos attentes. Il est donc recommandé de tester si le navigateur est compatible HTTP/1.1 et d’envoyer une réponse adaptée. Pour cela, vous pouvez utiliser une méthode de ce type : C_BOOLEEN($0) Combinée à la commande WEB LIRE CORPS HTTP et aux autres commandes du thème “Serveur Web”, cette commande complète la gamme d’outils mis à la disposition des développeurs 4D pour traiter de manière entièrement personnalisée les connexions HTTP entrantes et sortantes. Ces différents outils sont présentés dans le schéma suivant : Cet exemple illustre l’emploi de l’option chunked avec la commande WEB ENVOYER DONNEES. Les données (une suite de chiffres) sont envoyées en 100 morceaux générés à la volée dans une boucle. A noter que l’en-tête de la réponse n’est pas explicitement défini : la commande WEB ENVOYER DONNEES l’enverra automatiquement et y insérera le champ transfer-encoding: chunked car le paramètre * est utilisé. C_ENTIER LONG($cpt)
Voir aussi
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Créé : 4D 2004 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||