Categories

Hardware

Templates

Mobile

Jeux

Divers

Calendrier
«    May 2012    »
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Advertisement
Annuaires
autoformations.com
lopman vous propose dans Webmastring » Asp :

Présentation de l’objet Response

 

 

Le rôle de l’objet Response est de permettre de créer la réponse HTTP qui va être envoyée au navigateur, c’est-à-dire la page Web demandée par le client.

L’objet Response permet ainsi de manipuler l’ensemble des informations à destination du navigateur du client, c’est-à-dire le corps de la réponse mais également les statuts et en-têtes HTTP. 

Les constituants de l’objet Response

L’objet Response possède une seule collection et de nombreuses propriétés et méthodes :

CollectionsPropriétésMéthodes
Cookies Buffer AddHeader
  CacheControl AppendToLog
  CharSet BinaryWrite
  ContentType Clear
  Expires End
  ExpiresAbsolute Flush
  isClientConnected Redirect
  PICS Write
  Status  

La majorité des propriétés et des méthodes de l’objet Response correspondent à des champs de la réponse HTTP.

L’envoi de données au navigateur

Pour envoyer du texte au navigateur dans un code ASP, il suffit d’utiliser la méthode write de l’objet Response, voici un exemple simple montrant comment utiliser cette méthode :

<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Exemple de script ASP</TITLE>
</HEAD>
<BODY>
<% Response.write("http://www.dyalo.com") %>
</BODY>
</HTML>

Ce script est totalement inutile dans la mesure où un simple fichier HTML pourrait donner le même résultat. L’intérêt de cette méthode est de pouvoir gérer des variables ainsi que des chaînes :

 

Le rôle de l’objet Response est de permettre de créer la réponse HTTP qui va être envoyée au navigateur, c’est-à-dire la page Web demandée par le client.

L’objet Response permet ainsi de manipuler l’ensemble des informations à destination du navigateur du client, c’est-à-dire le corps de la réponse mais également les statuts et en-têtes HTTP. 

Les constituants de l’objet Response

L’objet Response possède une seule collection et de nombreuses propriétés et méthodes :

CollectionsPropriétésMéthodes
Cookies Buffer AddHeader
  CacheControl AppendToLog
  CharSet BinaryWrite
  ContentType Clear
  Expires End
  ExpiresAbsolute Flush
  isClientConnected Redirect
  PICS Write
  Status  

La majorité des propriétés et des méthodes de l’objet Response correspondent à des champs de la réponse HTTP.

L’envoi de données au navigateur

Pour envoyer du texte au navigateur dans un code ASP, il suffit d’utiliser la méthode write de l’objet Response, voici un exemple simple montrant comment utiliser cette méthode :

<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Exemple de script ASP</TITLE>
</HEAD>
<BODY>
<% Response.write("http://www.dyalo.com") %>
</BODY>
</HTML>

Ce script est totalement inutile dans la mesure où un simple fichier HTML pourrait donner le même résultat. L’intérêt de cette méthode est de pouvoir gérer des variables ainsi que des chaînes :

<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Exemple de script ASP</TITLE>
</HEAD>
<BODY>
<%
For i=1 to 10
Response.write("Compte à rebours: " & 10 - i & "<br>")
Next
%>
</BODY>
</HTML>

Il existe une écriture simplifiée permettant d’envoyer du texte au navigateur, elle consiste à faire précéder la chaîne à envoyer du caractère = :

<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Exemple de script ASP</TITLE>
</HEAD>
<BODY>
<% for i=1 to 10 %>
<% = "Compte à rebours: " & 10 - i & "<br>" %>
<% Next %>
</BODY>
</HTML>

La méthode Write() gère la conversion des données entrées en paramètre en chaîne de caractères utilisant le jeu de caractères par défaut du serveur. Pour envoyer des données binaires, il est possible d’utiliser la méthode BinaryWrite().

La méthode BinaryWrite

Tandis que la méthode Response.Write envoie au navigateur des données formatées selon le jeu de caractères du serveur, la méthode BinaryWrite permet d’envoyer au navigateur des données brutes (binaires). Sa syntaxe suit le même schéma que la méthode Response.Write :

<% Response.BinaryWrite(DonneesBinaire) %>

A l’inverse, ASP fournit une méthode à l’objet Request permettant de lire des données binaires, il s’agit de Request.BinaryRead.

Les en-têtes HTTP

Lors de chaque échange par le protocole HTTP entre votre navigateur et le serveur, des données dites d’en-têtes contenant des informations non affichées sont transmises. Les en-têtes HTTP permettent aussi d’effectuer des actions sur le navigateur comme le transfert de cookies ou bien une redirection vers une autre page.

Ces en-têtes sont les premières informations envoyées au navigateur (pour une réponse) ou au serveur (dans le cas d’une requête), elles se présentent sous la forme :

en-tête: valeur
  La syntaxe doit être rigoureusement respectée, c’est-à-dire qu’aucun espace ne doit figurer entre le nom de l’en-tête et les deux points (:). Un espace doit par contre figurer après celui-ci !

La méthode Response.AddHeader

ASP fournit une méthode permettant d’envoyer très simplement des en-têtes HTTP au navigateur du client.

La syntaxe de cette méthode est la suivante :

<% Response.AddHeader Nom-en-tete-HTTP, Valeur-en-tete-HTTP %>
  Etant donné que les en-têtes HTTP sont les premières informations envoyées, la méthodeAddHeader doit être utilisée avant tout envoi de données HTML au navigateur (le script qui la contient doit donc être placé avant la balise <HTML> et avant toute méthodeResponse.Write ou équivalent).Il est essentiel d’éviter l’utilisation du caractère « _ » dans le nom de l’en-tête HTTP, car la collection ServerVariables de l’objet Request interprète les « _ » comme des « . ».

Voici quelques utilisations possibles de la fonction AddHeader() :

  • pour rediriger le navigateur vers une nouvelle page :
    <%
    Response.Addheader "location", "http://www.daylo.com/"
    %>
  • Pour envoyer au navigateur une image créée à la volée (pour faire un compteur de statistiques ou bien un histogramme dynamique par exemple) :
    <%
    Reponse.AddHeader "Content-Type", "image/gif"
    %>

Dans la plupart des cas (comme ceux décrits ci-dessus) il existe une méthode de l’objetResponse permettant d’envoyer spécifiquement l’en-tête désiré. Ainsi il est conseillé d’utiliser la méthode Response.Redirect pour envoyer l’en-ête Location.

L’envoi de cookies au navigateur

L’objet Response, outre la possibilité qu’il offre d’envoyer une page Web au navigateur du client, permet aussi d’envoyer des cookies à celui-ci, c’est-à-dire de stocker des données dans un fichier du client sous la forme de paires nom/valeur.

L’objet Response fournit la collection cookies pour effectuer les opérations d’envoi de cookies au navigateur.

Le protocole HTTP permet de spécifier les valeurs de cookies dans les en-têtes HTTP, l’envoi de cookies au navigateur dans la page ASP doit donc se faire avant tout envoi dans le corps de la réponse.

Pour stocker une valeur dans un cookie appelé CCMCookie, il suffit d’utiliser la commande suivante :

<%@ LANGUAGE="VBSCRIPT" %>
<% response.cookies("CCMCookie") = "Valeur" %>

Pour stocker plusieurs valeurs associées à des index dans un cookie appelé CCMCookie, il suffit d’utiliser la commande suivante :

<%@ LANGUAGE="VBSCRIPT" %>
<% response.cookies("CCMCookie")("Index1") = "Valeur1" %>
<% response.cookies("CCMCookie")("Index2") = "Valeur2" %>
<% response.cookies("CCMCookie")("Index3") = "Valeur3" %>
<% ... %>

En réalité, le cookie ainsi créé n’aura qu’une durée limitée à celle de l’utilisation du navigateur, cela signifie qu’il sera effacé à la fermeture de celui-ci. Pour y remédier, il suffit de définir la propriété expires, qui définit la « date limite de péremption du gâteau ».

<% response.cookies("CCMCookie").expires = #4/18/2000# %>

La collection cookies possède d’autres propriétés que expires :

  • domain définit le nom du serveur pour lequel les valeurs du cookie sont accessibles
  • path définit le chemin sur le serveur pour lequel les valeurs du cookie sont accessibles
  • secure permet d’indiquer que le cookie ne peut être envoyé que lors d’une connexion sécurisée (SSL, S-HTTP, etc.)

La méthode Redirect

La méthode Response.Redirect permet de forcer la redirection de la page du navigateur vers l’URL passée en paramètre. La syntaxe de la méthode Response.Redirect est la suivante :

<% response.redirect "URL" %>

Voici un exemple d’utilisation de cette méthode afin de faire rediriger le navigateur du client vers CCM :

<% response.redirect "http://www.dyalo.com" %>

La méthode AppendToLog

Le serveur Web sur lequel l’application fonctionne possède un ou plusieurs fichiers spécifiques dans lesquels sont enregistrés certains événements. On appelle ce type de fichier log (en français fichier journal).

ASP fournit une méthode permettant d’ajouter une ligne dans le fichier journal. Cette méthode s’utilise comme suit  :

<% response.AppendToLog "chaîne à stocker dans le fichier journal" %>
  La chaîne à stocker ne doit en aucun cas contenir de virgules, dans la mesure où il s’agit d’un caractère utilisé par le serveur pour séparer les champs du fichier journal !

La propriété Buffer

La propriété Buffer de l’objet Response indique au serveur s’il doit mettre en cache (mémoire tampon) ou non les données à envoyer au navigateur. Autrement dit, il s’agit d’une propriété spécifiant si les données sont envoyées au fur et à mesure de l’interprétation de la page ASP ou bien si le résultat de cette interprétation est envoyé en une seule fois à la fin.

Cette propriété s’utilise de la manière suivante :

<% response.buffer = [TRUE | FALSE] %>

Lorsque la propriété Buffer est initialisée avec la valeur TRUE, les données sont mises en mémoire tampon. Il s’agit de la valeur par défaut du serveur Microsoft IIS 4.0.

Lorsque la propriété Buffer est initialisée avec la valeur FALSE, les données sont envoyées au client au fur et à mesure. Il s’agit de la valeur par défaut du serveur Microsoft IIS 5.0.

La méthode Flush

La méthode Response.Flush permet de forcer l’envoi des données au navigateur lorsque la propriété Buffer est activée (c’est-à-dire initialisée avec la valeur TRUE). Sa syntaxe est la suivante :

<% response.flush %>
  23 March 2011 | Telechargements : [1391] | 13
Groupe: Anonyme | Date de publication: 19 April 2011 06:11
M0Kmfy Kudos to you! I hadn't thohugt of that!
Groupe: Anonyme | Date de publication: 5 May 2011 06:18
Levitra 491532 Doxycycline clyvhn
Groupe: Anonyme | Date de publication: 5 May 2011 08:49
Groupe: Anonyme | Date de publication: 9 May 2011 07:12
Groupe: Anonyme | Date de publication: 13 May 2011 07:11
Groupe: Anonyme | Date de publication: 15 May 2011 10:18
Groupe: Anonyme | Date de publication: 17 May 2011 20:07
Groupe: Anonyme | Date de publication: 19 May 2011 03:55
Groupe: Anonyme | Date de publication: 3 April 2012 23:54
http://www.onlinecialis.biz <a href="http://www.onlinecialis.biz"> Cialis online </a> ++ cialis Online &&#
http://www.viagra-cheap.us <a href="http://www.viagra-cheap.us">Cheap viagra</a> //* Cheap viagra %%%
Groupe: Anonyme | Date de publication: 17 April 2012 19:36
http://www.generic-viagra.us <a href="http://www.generic-viagra.us">Generic viagra</a> &&# Generic viagra &&#
http://www.cialisbuy.us <a href="http://www.cialisbuy.us">buy cialis </a> ++ buy cialis &&#
http://www.cialis-without-prescription.us vv <a href="http://www.cialis-without-prescription.us">cialis </a> (()) Cialis Without Prescription **
Groupe: Anonyme | Date de publication: 29 April 2012 04:18
http://www.ambienprices.com <a href="http://www.ambienprices.com"> Buy ambien</a> asd ambien asda

Groupe: Anonyme | Date de publication: 30 April 2012 06:07
http://www.buy--ambien.us <a href="http://www.buy--ambien.us">ambien </a> asd ambien Online asda
http://www.viagras.name <a href="http://www.viagras.name"> Buy viagra</a> asd viagra Online asda
http://www.purchaseviagra.us <a href="http://www.purchaseviagra.us">viagra </a> asd Buy viagra asda
http://www.buyviagravv.com <a href="http://www.buyviagravv.com"> Buy viagra </a> asd viagra Online asda
http://www.levitra-buy.us <a href="http://www.levitra-buy.us"> Buy levitra </a> asd Buy levitra asda
http://www.ambienonlinewithoutprescription.com <a href="http://www.ambienonlinewithoutprescription.com">ambien </a> asd ambien Online asda
http://www.buyhydrocodone.cc <a href="http://www.buyhydrocodone.cc">hydrocodone </a> asd hydrocodone asda
http://www.viagra-buy.us <a href="http://www.viagra-buy.us"> Buy viagra </a> asd viagra asda

12
Groupe: Anonyme | Date de publication: Yesterday, 05:31
http://www.onlinexanax.us <a href="http://www.onlinexanax.us">Xanax online</a> asdasd xanax Online asdasd
http://www.cialisonline.biz <a href="http://www.cialisonline.biz">Cialis online</a> asdasd Cialis online asdasd
http://www.viagra.gd <a href="http://www.viagra.gd">viagra</a> asdasd viagra asdasd
http://www.cialisgeneric.us <a href="http://www.cialisgeneric.us">Generic cialis</a> asdasd Generic cialis asdasd
http://www.cialis.vc <a href="http://www.cialis.vc">cialis</a> asdasd cialis asdasd
http://www.generic-viagra.us <a href="http://www.generic-viagra.us">Generic viagra</a> asdasd Generic viagra asdasd
http://www.buy-xanax-online.org <a href="http://www.buy-xanax-online.org">Buy xanax online</a> asdasd Buy xanax online asdasd

3


http://www.viagra.gd <a href="http://www.viagra.gd">viagra</a> asdasd viagra asdasd
http://www.cialis.vc <a href="http://www.cialis.vc">cialis</a> asdasd cialis asdasd
http://www.levitra.gd <a href="http://www.levitra.gd">levitra</a> asdasd levitra asdasd
http://www.cialisonline.biz <a href="http://www.cialisonline.biz">Cialis online</a> asdasd Cialis online asdasd
http://www.generic-viagra.us <a href="http://www.generic-viagra.us">Generic viagra</a> asdasd Generic viagra asdasd

Ecrire un commentaire

[not-wysywyg]{bbcode}[/not-wysywyg]
Nom ou pseudo :
E-mail :
Code : Include security image CAPCHA.
update code
Introduire :
AutoFormations.com



� 2007-2011 AutoFormations.com | Abuse email: AutoFormations@gmail.com | Designed by JavaX36
puuuuuuuuuuuuub5