Recommandé: asp conseils: améliorer l'efficacité de l'utilisation des collections de demande Accéder à une collection ASP pour extraire une valeur est un processus de consommation de ressources longs et informatiques. Étant donné que cette opération contient une série de recherches d'ensembles connexes, cela est beaucoup plus lent que d'accéder à une variable locale. Donc, si vous avez l'intention d'utiliser une valeur à partir de la collection de demandes plusieurs fois dans la page
La demande et la réponse sont les deux objets intégrés les plus couramment utilisés fournis par ASP. Entre le navigateur (ou tout autre agent utilisateur) et le serveur Web, l'échange d'informations qui se produit dans la demande et la réponse peut être accessible et géré via deux objets intégrés dans l'ASP, appelés objets de demande et de réponse.
Presque tout le travail à effectuer dans la page ASP nécessite l'accès à ces deux objets. L'utilisation de ces deux objets affectera l'efficacité et la fiabilité de la page. Bien sûr, leur objectif principal est d'accéder à la valeur renvoyée au serveur par l'utilisateur, c'est-à-dire d'obtenir à partir du segment <form> de la page HTML ou de le fixer à l'URL en tant que chaîne de requête, et de créer une sortie appropriée pour revenir à l'utilisateur, et ils peuvent partager bon nombre des mêmes facteurs. Par exemple, les deux objets peuvent utiliser des cookies stockés sur l'ordinateur client.
Par conséquent, nous divisons le contenu en deux parties indépendantes (partie de chaque objet), et commençons d'abord par l'échange d'informations entre le client et le serveur, puis étudions chaque objet.
Le contenu de la recherche est:
· Comment le client communique avec le serveur pour livrer le Web ou d'autres ressources.
· Détails des objets de demande et de réponse, et ce qu'ils sont en commun.
· Comment accéder à la valeur correspondante via une chaîne de formulaire et de requête.
· Comment lire ou créer des cookies et les stocker sur l'ordinateur du client.
· Quelles sont les variables du serveur? Comment accéder et modifier les en-têtes HTTP.
· Décrire les modifications à d'autres entrées connexes, telles que l'utilisation du certificat du client.
Communication entre les clients et les serveurs
Pour économiser de l'espace, le navigateur de mots est utilisé dans le contenu suivant. Mais il faut rappeler que les applications qui peuvent accéder aux pages Web ne sont pas seulement des navigateurs, mais de nombreuses applications spéciales téléchargent des pages Web à partir de sites, tels que des programmes clients spéciaux conçus pour ceux qui ont des défauts de vision ou ceux qui ont d'autres difficultés en utilisant le navigateur habituel. L'exemple le plus évident est le robot utilisé par les moteurs de recherche pour accéder aux sites sur le Web. Considérez ces facteurs de manière approfondie, y compris les navigateurs Web ordinaires, le mot exact doit être un agent utilisateur.
Conversation de demande de page
Lorsqu'un navigateur fait une demande de page à un site Web, il doit évidemment dire au serveur quelle page il demande. La première chose à faire est d'établir une connexion au serveur via le nom de domaine, puis de fournir le chemin complet et le nom de la page demandée. Pourquoi avez-vous besoin d'un chemin complet et d'un nom? Le Web est un environnement sans bordure, il est donc nécessaire de créer une session pour identifier chaque client (comment ASP peut le faire plus tard).
Cela signifie que chaque fois que le serveur termine l'envoi de la page au client, le serveur oublie complètement le client. Ainsi, 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 et, par conséquent, il ne peut pas déterminer quelle page il a demandé la dernière fois. Parce que vous ne pouvez pas utiliser un chemin relatif pour fournir une page, même si la page contient un lien relatif, par exemple:
< a href = http: //www.cuoxincom/download.asp> page suivante </a>
Le navigateur créera automatiquement une nouvelle URL de page complète en utilisant le domaine et le chemin de la page actuelle; ou utilisez l'élément <base> dans la section <adread> de la page pour indiquer au navigateur quelle est l'URL de tous les liens d'une page. Par exemple:
< Base Herf = http: //www.cuoxin.com >
Lorsque vous pointez la souris vers un lien vers une page, il peut être vu dans la barre d'état du navigateur. Le chemin d'accès à la page actuelle et le domaine actuel ou le domaine de base ou le chemin de base ont été combinés avec le nom de la page demandée.
1. Détails des demandes des clients
La combinaison du chemin complet et du nom de la page demandée est la seule résidence du serveur lorsque le navigateur demande la page. La demande du navigateur peut également inclure la résidence de l'hôte du navigateur et le système d'exploitation exécuté par le client. Le contenu d'informations réel changera en conséquence avec le navigateur, et seul un petit nombre peut être fourni par d'autres applications telles que le robot du moteur de recherche. Pour mieux comprendre ces informations, voici une paire de pages émises à partir de IE 5.0
Download.asp Informations de demande:
7/8/99 10:27:16 Envoyé get /store/download.asp http / 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érer: http://wwrox.com/main_menu.asp
Cookie: VisitCount = 2 & LastDate = 6/4/99 10:10:13 AM
Agent utilisateur: Mozilla / 4.0 (compatible; MSIE 5.0; Windows 98)
Hôte: 212.250.238.67
Connexion: Keep-Alive
À partir de cela, on peut voir que les informations contiennent des détails sur l'agent utilisateur et la connexion utilisateur (comme la langue par défaut), ainsi qu'une liste de types de fichiers ou d'applications acceptables, qui sont de type MIME, et vous verrez plus tard. Le navigateur peut accepter plusieurs fichiers image et plusieurs types de fichiers Microsoft Office. Les types de fichiers standard tels que TESX / HTML et Text / Text ne sont pas répertoriés. * / * Dans la liste de fichiers, tout type de fichier peut être renvoyé au navigateur, interprété par le navigateur ou 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 ce domaine. Si la demande est le résultat de cliquer sur le lien, au lieu de saisir directement l'URL dans la barre d'adresse du navigateur, référente: l'entrée s'affiche, qui 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 identifier avec précision le client. Parce que lorsqu'ils se connectent via un FAI, les adresses IP sont allouées dynamiquement, ou lorsqu'ils se connectent via un serveur proxy, les adresses IP proviennent du proxy plutôt que du client réel.
2. Détails de la réponse du serveur
Afin de répondre à la demande ci-dessus et de fournir la page demandée à un navigateur anonyme (c'est-à-dire que l'utilisateur n'a pas à fournir un nom d'utilisateur et un mot de passe d'accès), le contenu suivant est envoyé du serveur au client:
7/8/99 10:27:16 reçu HTTP / 1.1 200 OK
Serveur: Microsoft-IIS / 5.0
Connexion: Keep-Alive
Date: Thu, 8 juil 1999 10:27:16 GMT
Type de contenu: texte / html
Accept-glages: octets
Longueur du contenu: 2946
Dernier mode: jeu, 8 juil 1999 10:27:16 GMT
Cookie: VisitCount = 3 & LastDate = 7/8/99 10:27:16 AM
< html >
… Reste de la page…
< / html >
On peut voir que le serveur explique le logiciel et la version qu'il utilise au client. La première ligne montre que le protocole HTTP est utilisé et l'état du code de retour. Message 200 OK signifie que la demande a été acceptée et satisfaite. Les informations suivantes sont les détails de la page renvoyés, y compris le type MIME (contenu-longueur :), taille (octet), le dernier temps de changement et le cookie de retour stocké par le client. Les autres informations de la réponse sont le flux d'informations du contenu de la page.
Dans certains cas, le serveur ne peut pas renvoyer une page après avoir répondu à une demande, peut-être parce que la page n'existe pas, ou que le client n'a pas les autorisations correspondantes pour y accéder. Nous discuterons des problèmes de sécurité plus tard. Maintenant, pour les situations où la page de demande n'existe pas (par exemple, l'utilisateur a entré la mauvaise URL dans la barre d'adresse du navigateur), les informations retournées commencent par:
7/8/99 14:27:16 reçu HTTP / 1.1 404 non trouvé
Serveur: Microsoft-IIS / 5.0
…
Ici, le code d'état et les informations indiquent que la page demandée par le client ne peut être trouvée. Le navigateur peut utiliser ces informations pour afficher les informations correspondantes à l'utilisateur (dans ce cas, dans IE 5.0, les informations de réponse du serveur ne sont pas affichées, mais la page d'invite d'erreur d'aide correspondante) ou la page par défaut créée par le serveur (en fonction des paramètres du serveur). Objets de demande et de réponse
Les détails de la possibilité d'appliquer les demandes des clients et les réponses du serveur d'ASP sont implémentés via les objets de demande et de réponse intégrés de l'ASP.
· OBJET DE PRODICATION: Fournit les scripts avec toutes les informations fournies par le client lorsque le client demande une page ou transmet un formulaire. Cela inclut les variables HTTP qui peuvent indiquer le navigateur et l'utilisateur, les cookies stockés dans le navigateur sous ce nom de domaine, toute valeur de contrôle HTML fixée en tant que chaîne de requête à la chaîne après l'URL ou la section <form> de la page. Accès autorisé à l'aide de la couche de socket sécurisée (SSL) ou d'autres protocoles de communication chiffrés, ainsi que des attributs qui aident à gérer les connexions.
· Objet de réponse: utilisé pour accéder aux informations de réponse créées par le serveur et renvoyés au client. Fournit des variables HTTP pour les scripts qui indiquent les fonctions du serveur et du serveur et des informations sur le contenu renvoyé au navigateur, ainsi que pour tous les nouveaux cookies qui seront stockés dans le navigateur pour ce domaine. Il fournit également une gamme de méthodes pour créer une sortie, comme la méthode omniprésente.
1. Aperçu des membres de l'objet de demande
a) Collection d'objets de demande
L'objet de demande fournit 5 collections qui peuvent être utilisées pour accéder à diverses informations demandées par le client au serveur Web. Ces collections sont les suivantes:
Collection et description des objets de demande
| Nom de collection | illustrer |
| ClientCertificate | Lorsqu'un client accède à une page ou à une autre ressource, l'ensemble numérique de tous les champs ou entrées du certificat client utilisé pour indiquer l'identité au serveur, chaque membre est en lecture seule |
| Cookies | Selon la demande de l'utilisateur, une collection de tous les cookies émis par le système de l'utilisateur. Ces cookies ne sont valables que pour le domaine correspondant, et chaque membre est en lecture seule |
| Formulaire | Lorsque la valeur d'attribut de la méthode est POST, chaque membre est en lecture seule pour tous les ensembles de valeurs des unités de contrôle HTML dans la section <form> soumise en tant que demande. |
| Requête | Chaque membre est en lecture seule pour la valeur de toutes les unités de contrôle HTML dans <form>, en fonction de la paire de nom / valeur après l'ORL demandée par l'utilisateur ou soumise en tant que demande et l'attribut de méthode est GET (ou son attribut est omis), ou les valeurs de toutes les unités de contrôle HTML dans <form> |
| Serveur | Une collection de valeurs d'en-tête HTTP émises par la demande du client et les valeurs de plusieurs variables d'environnement du serveur Web, chaque membre est en lecture seule |
b) Propriétés de l'objet de demande
Les propriétés uniques et la description de l'objet de demande sont présentées dans le tableau suivant. Il fournit des informations sur le nombre d'octets demandés par l'utilisateur. Il est rarement utilisé dans les pages ASP. Nous nous concentrons généralement sur la valeur spécifiée plutôt que sur la chaîne de demande entière.
| propriété | illustrer |
| Totlbytes | En lecture seule, renvoie le nombre total d'octets de la demande émise par le client |
c) Méthodes d'objet de demande
La seule méthode et la description de l'objet de demande sont affichées dans le tableau suivant, qui permet d'accéder au contenu complet de la pièce de demande utilisateur transmise au serveur à partir d'un segment <form>.
Méthode et description de l'objet de demande
| méthode | illustrer |
| BinaryRead (Count) | Lorsque les données sont envoyées au serveur dans le cadre de la demande de poste, les octets de compte de données sont obtenus à partir de la demande du client et un tableau de variantes (ou SafeArray) est renvoyé. Si le code ASP fait déjà référence à la collection Request.form, cette méthode ne peut pas être utilisée. En même temps, si la méthode BinaryRead est utilisée, la collection de requête.form ne peut pas être accessible |
2. Aperçu des membres de l'objet de réponse
a) Collection d'objets de réponse
L'objet de réponse n'a qu'une seule collection, comme indiqué dans le tableau suivant, qui définit la valeur du cookie que vous souhaitez placer sur le système client, qui est directement équivalent à la collection de demande.cookies.
Collection et description des objets de réponse
| Nom de collection | illustrer |
| Cookies | Dans la réponse actuelle, les valeurs de tous les cookies renvoyés au client, cet ensemble est en écriture uniquement |
b) Propriétés de l'objet de réponse
L'objet de réponse fournit également une série de propriétés qui peuvent être lues (dans la plupart des cas) et modifiées afin que la réponse puisse être adaptée à la demande. Ceux-ci sont définis par le serveur et nous n'avons pas besoin de les configurer. Il convient de noter que lors de la définition de certaines propriétés, la syntaxe utilisée peut être différente de ce qui est couramment utilisé.
Propriétés et descriptions des objets de réponse
| propriété | illustrer |
| Buuffer = true | false | Lire / écrire, booléen, indiquant si la sortie créée par une page ASP est stockée dans le tampon IIS jusqu'à ce que tous les scripts de serveur de la page en cours soient traités ou que les méthodes de rinçage et de fin soient appelées. Cette propriété doit être définie avant toute sortie (y compris les informations de rapport HTTP) est envoyée à IIS. Par conséquent, dans le fichier .asp, ce paramètre doit être dans la première ligne après l'instruction <% @ language =…%>. La mise en mémoire tampon par défaut ASP 3.0 est sur (vrai), tandis que dans les versions antérieures, il est désactivé (false) |
| CacheControlsetting | Lire / écrire, type de caractère, définir cette propriété en public pour permettre au serveur proxy de mettre en cache des pages. S'il est privé, il interdit le serveur proxy de cache. |
| Charset = valeur | Lire / écrire, type de caractère, joindre le nom de jeu de caractères utilisé dans l'en-tête de type contenu HTTP créé par le serveur pour chaque réponse (par exemple: ISO-LATIN-7) |
| Type de contenu = Type MIME | Lire / écrire, type de caractères, spécifier le type de contenu HTTP de la réponse et le type de mime standard (tel que le texte / xml ou l'image / GIF). Si par défaut, cela signifie que le texte de type MIME / HTML est utilisé, et le type de contenu indique au navigateur le type de contenu attendu. |
| Expire les minutes | LIRE / ÉCRIRE, TYPE NUMÉRIQUE, indique la durée de la page Valide en quelques minutes. Si l'utilisateur demande la même page avant l'expiration de la période de validité, le contenu du tampon d'affichage sera lu directement. Après cette période valide, la page ne sera plus conservée dans le tampon privé (utilisateur) ou public (proxy). |
| Expire absolu #Date [time] # | Lire / écrire, type de date / heure, indiquant la date et l'heure absolues où une page expire et n'est plus valide |
| IsClientConnected | Read Only, Boolean, renvoie le drapeau d'état de si le client est toujours connecté et téléchargé. Avant l'exécution de la page actuelle, si un client est transféré sur une autre page, ce drapeau peut être utilisé pour interrompre le traitement (en utilisant la méthode Response.end) |
| Photos (Pics-Label-String) | Écrivez uniquement, type de personnage, créez un en-tête de photos pour définir le niveau de vocabulaire dans le contenu de la page, tels que la violence, le sexe, le mauvais langage, etc. |
| Status = message de code | Lire / écrire, type de caractère, valeurs d'état et informations indiquant si l'en-tête HTTP renvoyé à la réponse du client indique si l'erreur ou le traitement de page est réussi. Par exemple 200 ok et 404 introuvables |
c) Méthodes d'objet de réponse
L'objet de réponse fournit une série de méthodes, comme le montre le tableau suivant, permettant un traitement direct du contenu de page créé à retourner au client.
Méthodes et descriptions des objets de réponse
| méthode | illustrer |
| AddHeader (nom, contenu) | Créez un en-tête HTTP personnalisé en utilisant des valeurs de nom et de contenu et ajoutez-le à la réponse. Un en-tête existant avec le même nom ne peut pas être remplacé. Une fois qu'un en-tête a été ajouté, il ne peut pas être supprimé. Cette méthode doit être utilisée avant que tout contenu de page (c'est-à-dire le texte et le HTML) soit envoyé au client |
| APPENDTOLOG (String) | Lorsque vous utilisez le format de fichier de fichier journal étendu W3C, ajoutez une entrée au fichier journal du serveur Web demandé par l'utilisateur. Au moins, il faut sélectionner la tige d'URL dans la page Propriétés étendues du site contenant la page |
| Écriture binaire (SafeArray) | Écrivez une sécurité de type variante dans le flux de sortie HTTP actuel sans conversion de caractères. Il est très utile pour rédiger des informations non corrigées, telles que les données binaires demandées par une application personnalisée ou des octets binaires qui composent un fichier image |
| Clair() | Lorsque Response.Buffer est vrai, supprimez le contenu de page tamponné existant du tampon de réponse IIS. Mais l'en-tête de la réponse HTTP peut être utilisé pour abandonner les pages partiellement terminées |
| Fin() | Laissez l'ASP terminer le script pour le traitement de la page et renvoyez le contenu actuellement créé, puis abandonnez tout traitement supplémentaire de la page |
| Flush() | Envoyez toutes les pages tamponnées actuelles dans le tampon IIS au client. Lorsque la réponse.Buffer est vraie, elle peut être utilisée pour envoyer une partie du contenu d'une page plus grande aux utilisateurs individuels |
| Rediriger (URL) | En envoyant un en-tête 302 objet déplacé |
| Écrire (chaîne) | Écrivez des caractères spécifiés dans le flux d'informations de réponse HTTP actuel et le tampon IIS pour en faire partie de la page de retour |
Partager: Contact complet avec les applications de procédure stockées dans le développement ASP Il existe de nombreux articles sur l'ASP et les procédures stockées, mais je doute que les auteurs l'aient réellement pratiqué. J'ai lu beaucoup d'informations pertinentes lorsque j'étais au début et j'ai constaté que bon nombre des méthodes fournies n'étaient pas le cas dans la pratique. Pour des applications simples, ces données