Ces deux objets sont les deux objets construits les plus couramment utilisés fournis par ASP. Entre le navigateur (ou d'autres agents utilisateur) et le serveur Web, l'échange d'informations entre la demande et la réponse peut être consulté et géré via les deux objets construits dans l'ASP.
Presque tout le travail à effectuer sur la page ASP doit accéder à ces deux objets. Bien sûr, leur utilisation principale est d'accéder à la valeur de l'utilisateur renvoyé au serveur, c'est-à-dire obtenu ou attaché à l'URL en tant que chaîne de requête à partir du paragraphe <form> de la page HTML, et de créer une sortie appropriée pour Renvoyez-le à l'utilisateur et ils peuvent partager beaucoup de facteurs. Par exemple, les deux objets peuvent utiliser des cookies stockés sur l'ordinateur client.
Communication des clients et des serveurs
为节省篇幅,后面的内容中使用“浏览器”(browser)一词。 Mais ce qui doit être rappelé, c'est que les applications qui peuvent accéder à la page Web ne sont pas seulement des navigateurs. . L'exemple le plus évident est que les moteurs de recherche sont utilisés pour accéder au robot du site sur le Web. Tout au long de ces facteurs, y compris les navigateurs Web ordinaires, le vocabulaire précis devrait être des agents utilisateur.
页面请求的对话
Lorsqu'un navigateur fait une demande de page sur le site Web, il est clair que le serveur doit être informé de quelle page il demande. La première chose à faire est d'établir une connexion avec le serveur via le nom de domaine, puis de fournir le chemin complet et le nom de la page requise. Pourquoi voulez-vous le chemin et le nom complet? Le Web est un environnement sans bordure, il doit donc créer un logo de session à chaque client.
Cela signifie que chaque fois que le serveur est envoyé au client, le serveur oublie complètement le client. Par conséquent, lorsque le client demande la page suivante, c'est exactement la même chose qu'un nouveau visiteur. Le serveur ne se souvient pas de ce client. Parce que, le chemin relatif ne peut pas être utilisé pour fournir une page, même si la page contient un lien relatif, il ne fonctionnera pas, par exemple ::
<href = "doublé.asp"> NextPage </a>
Le navigateur créera automatiquement une nouvelle URL de page complète pour utiliser le domaine et le chemin de la page actuelle; ou utilisent l'élément <base> dans le paragraphe <ad-head> pour dire au navigateur quelle est l'URL de tous les liens du navigateur. Par exemple:
<BaseHerf = http://www.wrox.com/store>
Lorsque vous pointez la souris vers le lien d'une page, vous pouvez voir dans la barre d'état du navigateur. Le chemin d'accès de la page actuelle et le nom de domaine actuel ou le chemin de base ou de base sont déjà combinés avec le nom de la page de demande.
1. Détails des demandes des clients
La combinaison de l'ensemble du chemin et du nom de la page de demande est la seule résidence du navigateur qui envoie le serveur lorsque la page de demande du navigateur est demandée par la page de demande du navigateur. Le contenu d'informations réel changera en conséquence avec les différents navigateurs, seuls quelques-uns peuvent être fournis par d'autres applications telles que le robot de moteur de recherche. Afin de comprendre les informations plus clairement, ce qui suit est une page de paire de IE5.0 à la page http://www.wrox.com/store/
Download.asp Informations de demande:
7/8/9910: 27: 16Sentget / Store / Download.asphttp / 1.1
Accepter: application / msword, application / vnd.ms-execl, application / vnd.ms-
PowerPoint, image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / x-
Comète,*/*
Accept-Language: en-us
Encodage: gzip, dégonfler
Référent: http://ww.wrox.com/main_menu.asp
Cookie: VisitCount = 2 & LastDate = 6% 2F4% 2F99 + 10% 3A13 + AM
Agent utilisateur: Mozilla / 4.0 (compatible; MSIE5.0; Windows98)
Hôte: 212.250.238.67
Connexion: KEP-ALIVE
On peut voir à partir de cela que ces informations concernent les détails de l'agent utilisateur et de la connexion utilisateur (comme la langue par défaut), et il existe des types de fichiers ou d'applications qui peuvent être acceptables. . Le navigateur peut accepter plusieurs fichiers d'image et une variété de types de fichiers Microsoftoffice. Le type de fichier "standard", tel que TESX / HTML et Text / Text, ne y sont pas répertoriés. Dans la liste des fichiers, * / * indique qu'il peut être renvoyé au navigateur pour envoyer tout type de fichier, qui est expliqué par le navigateur ou expliqué via une application de plug-in.
Cookie: le cookie contenu dans l'entrée est stocké sur l'ordinateur du client et n'est valable que pour le domaine. Si la demande est le résultat de cliquer sur le lien au lieu de saisir l'URL directement dans la barre d'adresse du navigateur, alors se référe: l'entrée s'affiche, il contient l'URL complète de la page de lien.
Hôte: l'entrée contient l'adresse IP ou le nom de l'ordinateur client. Cependant, cela ne suffit pas pour distinguer avec précision le client. Étant donné que lorsqu'ils sont connectés via ISP, l'adresse IP est allouée dynamiquement, ou lorsqu'un serveur proxy est connecté, l'adresse IP est une machine proxy plutôt que le client réel.
2. Détails Informations pour la réponse du serveur
En réponse aux demandes ci-dessus et la page a fourni la demande de navigateur anonyme (c'est-à-dire que les utilisateurs n'ont pas besoin de fournir des noms d'utilisateurs et d'accès aux mots de passe), le contenu suivant est envoyé du serveur au client:
7/8/9910: 27: 16ReceivedTTP / 1.1200OK
Serveur: Microsoft-IIS / 5.0
Connexion: KEP-ALIVE
Date: Thu, 8Jul199910: 27: 16gmt
Type de contenu: texte / html
Accept-glages: octets
Spécifique au contenu: 2946
Last-Modified:Thu,8Jul199910:27:16GMT
Cookie: VisitCount = 3 & LastDate = 7% 2F8% 2F99 + 10% 3A27% 3A16 + AM
<html>
… Restofpage ...
</html>
On peut voir que le serveur explique les logiciels et les versions que vous utilisez au client. Les informations "200OK" signifient que la demande est acceptée et satisfaite. Les informations ultérieures sont les détails de la page retournée, y compris le type MIME spécifique :), taille (octet), modifications récentes et cookies stockés dans le client. Les autres informations dans la réponse sont le flux d'informations du contenu de la page.
Dans certains cas, une fois que le serveur a répondu à une demande, il ne peut pas renvoyer une page. Nous discuterons des problèmes de sécurité plus tard. Maintenant, pour la situation où la page de demande n'existe pas (par exemple, l'utilisateur a entré la mauvaise URL dans la barre d'adresse du navigateur), et les informations renvoyées sont:
7/8/9914: 27: 16ReceivedTP / 1.1404Notfound
Serveur: Microsoft-IIS / 5.0
Fauchage
Ici, le code d'état et les informations indiquent que les pages de la demande du client ne peuvent pas être trouvées. Le navigateur peut utiliser ces informations pour afficher les informations correspondantes à l'utilisateur (cette situation n'affiche pas les informations de réponse du serveur dans IE5.0, et la page d'invite d'erreur "Aide Sex" correspondante s'affiche), et la page par défaut créée par le serveur peut également afficher le serveur créé.
Objets de demande et de réponse
Les détails qui peuvent appliquer les demandes des clients et la réponse du serveur d'ASP sont obtenus par les objets de demande et de réponse intégrés ASP.
· Demandez objet: fournissez un script avec toutes les informations fournies par le client lorsque le client demande une page ou passez une fenêtre. Cela comprend la variable HTTP qui peut indiquer le navigateur et l'utilisateur, et le cookie placé dans le navigateur sous ce nom de domaine, toute chaîne attachée à la section <form> de la section <form> derrière l'URL en tant que chaîne de requête, Essence Il fournit également un accès autorisé à l'utilisation de Secursocketlayer (SSL) ou d'autres protocoles de communication chiffrés, et il aide à gérer la connexion.
· Objet de réponse: utilisé pour accéder aux informations de réponse simultanées créées par le côté serveur. Fournissez des variables HTTP pour les scripts, indiquant les fonctions du serveur et du serveur et des informations sur le contenu du navigateur et tout nouveau cookie qui sera stocké dans le navigateur pour ce domaine. Il fournit également une série de méthodes pour créer une sortie, comme la méthode omniprésente.
<h3> Aperçu des membres de l'objet de demande </h3>
Une collection d'un objet de demande
grammaire:
Response.Collection |
L'objet de demande fournit 5 ensembles pour accéder aux différentes informations du client demandées par le serveur Web.
ClientCertified
Lorsque le client accède à une page ou à d'autres ressources, la collection numérique de tous les champs ou entrées utilisés pour afficher le certificat client du client au serveur, chaque membre lit uniquement
Cookies
Selon la demande de l'utilisateur, la collecte de toutes les valeurs de cookies émises par le système utilisateur, ces cookies ne sont efficaces que pour le domaine correspondant, chaque membre est lu seulement
Formulaire
Lorsque la valeur d'attribut de la méthode est post, tous les membres de la section <form> du paragraphe <form> comme demandé, chaque membre est lument lu
Requête
La paire de nom / valeur derrière l'URL requise par l'utilisateur ou les attributs de méthode soumis comme une demande sont GET (ou omis ses attributs), ou la valeur de toutes les unités de contrôle HTML dans <form>, chaque membre est lu uniquement en lisant uniquement
Serveur
Avec la valeur d'en-tête HTTP émise avec la demande du client et la collecte des valeurs de plusieurs variables d'environnement du serveur Web, chaque membre est lu seulement
L'attribut des deux objets de demande
Les seuls attributs et descriptions de l'objet de demande sont indiqués dans le tableau ci-dessous. chaîne de demande entière.
Totlbytes
Lire uniquement, renvoyez le nombre total d'octets demandés par le client
Méthode des trois objets de demande
La seule méthode et les instructions de l'objet de demande sont comme indiquées dans le tableau ci-dessous.
BinaryRead (Count)
Lorsque les données sont envoyées au serveur dans le cadre de la demande de poste, les données du comptage sont obtenues à partir de la demande du client et un tableau de variantes (ou SafeArray) est renvoyé. Si le code ASP a cité l'ensemble de requête.form, cette méthode ne peut pas être utilisée. En même temps, si vous utilisez la méthode BinaryRead, vous ne pouvez pas accéder à la collection Request.Form
<h3> Présentation des objets de réponse </h3>
grammaire:
Response.collection|property|method
1. Collection
L'objet de réponse n'a qu'une seule collecte-cookies et l'ensemble de données cookies permet de définir les données sur le navigateur du client. Créez-le si le cookie spécifié n'existe pas. Si vous existez, mettez à jour les données automatiquement.
Grammaire: réponse.cookies (cookie) [key.attribute]
Le cookie ici est le nom de cookies spécifiés. Et si la clé est spécifiée, le cookie est un dictionnaire. L'attribut spécifie les informations pertinentes sur les cookies lui-même. Les paramètres d'attribut peuvent être l'un des éléments suivants:
Le domaine est uniquement écrit. S'il est spécifié, Cookie sera envoyé à la demande de domaine.
Expire uniquement écrire. Spécifiez la date d'expiration du cookie. Afin de stocker des cookies sur le disque client après la fin de la session, la date doit être fixée. Si le réglage de cet attribut ne dépasse pas la date actuelle, le cookie expirera une fois la tâche terminée.
Haskeys ne lisez que. Spécifiez si le cookie contient des mots clés.
Le chemin est uniquement écrit. S'il est spécifié, Cookie ne l'enverra qu'à la demande de chemin. Si la propriété n'est pas définie, le chemin de la demande est utilisé.
Secure est uniquement écrit. Spécifiez si les cookies sont sûrs.
2. Méthode
Réponse.addheadername, valeur
Ajoutez un nouveau titre HTML à la réponse. Le nom est le nom du nouveau titre HTML. La valeur est la valeur de la variable de tête. Vous pouvez ajouter n'importe quel titre HTML avec n'importe quel nom et n'importe quelle valeur. Il ne remplace pas le titre existant du même nom. Une fois le titre ajouté, il ne sera pas supprimé.
Réponse.ApendTologString
Ajoutez une chaîne à la barre de journal du serveur Web. String est une chaîne à ajouter au fichier journal.
Réponse.binarywriteddata
Cette méthode peut rédiger les informations formelles sur la sortie HTTP sans conversion de caractères, qui est principalement utilisée pour écrire des informations non-string (telles que les données binaires requises par les applications client, etc.). Les données sont les données à envoyer.
Réponse.
删除缓冲区的所有HTML输出,但只删除响应正文而不删除响应标题。 Vous pouvez utiliser cette méthode pour gérer les erreurs. Il convient de noter que si Response.Buffer est défini sur true, la méthode entraînera l'opération erronée.
Réponse.
Forcé le serveur Web à arrêter d'effectuer plus de scripts et à envoyer les résultats actuels, le contenu restant dans le fichier ne sera pas traité. Si Response.Buffer est défini sur TRUE, l'appel Response.end sera la sortie de tampon.
Réponse.flush
Pour une réponse rembourrée, envoyez toutes les informations de tampon. Si Response.Buffer est défini sur true, la méthode entraînera l'opération erronée.
Réponse.redirectUrl
Réduisez le navigateur du client à une nouvelle adresse Internet. L'URL est l'adresse Internet de la nouvelle page Web.
Réponse.WriteVariant
Response.Write est la méthode la plus courante pour l'objet de réponse. La variante est une chaîne ou une variable avec une valeur de chaîne.
Trois, attributs
Réponse.
Coussin un actiferverpage. La réponse n'est envoyée qu'à la fin d'une certaine page ou de la réponse.flush ou de la méthode de réponse.end. Une fois le serveur envoyé au client, l'attribut tampon ne peut pas être défini.
Réponse.cacheControl
Indiquez si le serveur proxy peut mettre en cache ActiveServerPage. Lorsque la valeur par défaut est, sa valeur est fausse. Lors de la définition de son attribut au public, le serveur proxy peut tamponner la sortie générée par ASP.
Response.Charset (charSetName)
Joignez le nom du jeu de caractères (tel que GB) à l'objet de réponse derrière le titre de type contenu, et utilisez-le pour définir le serveur Web pour répondre au code de caractères de fichier au client. Une valeur possible est "ISO_LATIN_1".
Réponse.ContentType
Indiquez le type de contenu de réponse. Les valeurs possibles sont du texte / simple et de l'image / GIF, et la valeur par défaut text / html.
Response.Expires
浏览器可以缓存当前页的时间长度,以分钟为单位。
Response.ExpiresAbsolute
浏览器不能再缓存当前页的日期和时间。在未到期之前,可以返回。 Si l'heure n'est pas spécifiée, la page d'accueil expire à minuit le même jour; si la date n'est pas spécifiée, l'heure spécifiée expirera ce jour-là.
True/False=Response.IsClientConnected
属性为只读,指明自上次调用Response.Write之后,客户端是否仍然和服务器连接。该属性允许用户在客户端和服务器没有联接的情况下有更多的控制。 Par exemple, lorsque la demande de requête du client doit correspondre au serveur et qu'il est nécessaire de l'utiliser pendant longtemps, cela peut aider à garantir que le client est toujours connecté avant de continuer à gérer le script.具有值TRUE或FALSE。
Response.pics (String Pics)
Niveau de photos pour ajouter des pages Web. Les niveaux de photos indiquent le niveau de contenu d'une page Web, comme le degré de violence ou de pornographie.
Réponse.status = statut Description String
Il est utilisé pour définir la valeur de l'état du serveur Web pour répondre.