Recomendado: Consejos ASP: Mejore la eficiencia del uso de colecciones de solicitudes Acceder a una colección ASP para extraer un valor es un proceso de consumo de recursos que requiere mucho tiempo y computación. Debido a que esta operación contiene una serie de búsquedas para conjuntos relacionados, esto es mucho más lento que acceder a una variable local. Entonces, si tiene la intención de usar un valor de la colección de solicitudes varias veces en la página
La solicitud y la respuesta son los dos objetos integrados más utilizados proporcionados por ASP. Entre el navegador (u otro agente de usuario) y el servidor web, se puede acceder y administrar el intercambio de información que ocurre en la solicitud y la respuesta a través de dos objetos incorporados en el ASP, llamados objetos de solicitud y respuesta.
Casi todo el trabajo que se realizará en la página ASP requiere acceso a estos dos objetos. El uso de estos dos objetos afectará la eficiencia y la confiabilidad de la página. Por supuesto, su objetivo principal es acceder al valor enviado al servidor por el usuario, es decir, obtener desde el segmento <form> de la página HTML o adjuntarlo a la URL como una cadena de consulta, y crear una salida adecuada para volver al usuario, y pueden compartir muchos de los mismos factores. Por ejemplo, ambos objetos pueden usar cookies almacenadas en la computadora del cliente.
Por lo tanto, dividimos el contenido en dos partes independientes (parte de cada objeto), y primero comenzamos con el intercambio de información entre el cliente y el servidor, y luego estudiamos cada objeto.
El contenido de la investigación es:
· Cómo se comunica el cliente con el servidor para entregar la web u otros recursos.
· Detalles de los objetos de solicitud y respuesta, y lo que son en común.
· Cómo acceder al valor correspondiente a través de una cadena de formulario y consulta.
· Cómo leer o crear cookies y almacenarlas en la computadora del cliente.
· ¿Cuáles son las variables del servidor? Cómo acceder y modificar los encabezados HTTP.
· Describa los cambios en otras entradas relacionadas, como el uso del certificado del cliente.
Comunicación entre clientes y servidores
Para ahorrar espacio, el navegador de palabras se usa en el siguiente contenido. Pero debe recordarse que las aplicaciones que pueden acceder a páginas web no son solo navegadores, sino que muchas aplicaciones especiales descargan páginas web de sitios, como programas especiales de clientes diseñados para aquellos que tienen defectos de visión o aquellos que tienen otras dificultades utilizando el navegador habitual. El ejemplo más obvio es el robot utilizado por los motores de búsqueda para acceder a sitios en la web. Considere estos factores exhaustivamente, incluidos los navegadores web ordinarios, la palabra exacta debe ser un agente de usuarios.
Conversación de solicitud de página
Cuando un navegador realiza una solicitud de página para un sitio web, obviamente tiene que decirle al servidor qué página está solicitando. Lo primero que debe hacer es establecer una conexión con el servidor a través del nombre de dominio y luego proporcionar la ruta y el nombre completos de la página solicitada. ¿Por qué necesitas ruta y nombre completo? La web es un entorno sin fronteras, por lo que es necesario crear una sesión para identificar a cada cliente (cómo ASP puede hacer esto más adelante).
Esto significa que cada vez que el servidor completa el envío de la página al cliente, el servidor olvida por completo el cliente. Entonces, cuando el cliente solicita la página siguiente, es exactamente lo mismo que un nuevo visitante. El servidor no puede recordar a este cliente y, en consecuencia, no puede determinar qué página solicitaron la última vez. Porque no puede usar una ruta relativa para proporcionar una página, incluso si la página contiene un enlace relativo, por ejemplo:
< a href = http: //www.cuoxincom/download.asp> Página siguiente </a>
El navegador creará automáticamente una nueva URL de página completa utilizando el dominio y la ruta de la página actual; O use el elemento <se base> en la sección <vead> de la página para decirle al navegador cuál es la URL de todos los enlaces en una página. Por ejemplo:
< Base Herf = http: //www.cuoxin.com >
Al señalar el mouse a un enlace a una página, se puede ver en la barra de estado del navegador. La ruta a la página actual y el dominio actual o el dominio base o la ruta base se han combinado con el nombre de la página solicitado.
1. Detalles de las solicitudes de los clientes
La combinación de la ruta completa y el nombre de la página solicitada es la única residencia del servidor cuando el navegador solicita la página. La solicitud del navegador también puede incluir la residencia del host del navegador y el sistema operativo que se ejecuta por el cliente. El contenido de información real cambiará en consecuencia con el navegador, y solo un pequeño número puede ser proporcionado por otras aplicaciones, como el robot del motor de búsqueda. Para obtener una comprensión más clara de esta información, aquí hay un par de páginas emitidas desde IE 5.0
Download.asp Información de solicitud:
7/8/99 10:27:16 Enviado get /store/download.asp http/1.1
Aceptar: Aplicación/MSWord, Aplicación/VND.MS-Execl, Application/VND.MS-
PowerPoint, Image/GIF, Image/X-XBitMap, Image/JPEG, Image/PJPEG, Application/X-
Cometa, */ *
Aceptar el idioma: EN-US
Codificación: gzip, desinflar
Referente: http://wwrox.com/main_menu.asp
Cookie: VisitCount = 2 & LastDate = 6/4/99 10:10:13 AM
Agente de usuario: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
Anfitrión: 212.250.238.67
Conexión: mantener alive
A partir de esto, se puede ver que la información contiene detalles sobre el agente de usuarios y la conexión del usuario (como el idioma predeterminado), así como una lista de tipos de archivos o aplicaciones aceptables, que son de tipo mimo, y verá más adelante. El navegador puede aceptar varios archivos de imagen y varios tipos de archivos de Microsoft Office. Los tipos de archivos estándar, como TESX/HTML y Text/Text, no figuran en él. */* En la lista de archivos significa que cualquier tipo de archivo puede enviarse de regreso al navegador, interpretado por el navegador o a través de una aplicación de complemento.
Cookie: La cookie contenida en la entrada se almacena en la computadora del cliente y solo es válida para este dominio. Si la solicitud es el resultado de hacer clic en el enlace, en lugar de ingresar directamente la URL en la barra de direcciones del navegador, referente: se muestra la entrada, que contiene la URL completa de la página del enlace.
Host: la entrada contiene la dirección IP o el nombre de la computadora del cliente. Sin embargo, esto no es suficiente para identificar con precisión al cliente. Porque cuando se conectan a través de un ISP, las direcciones IP se asignan dinámicamente, o cuando se conectan a través de un servidor proxy, las direcciones IP provienen del proxy en lugar del cliente real.
2. Detalles de la respuesta del servidor
Para responder a la solicitud anterior y proporcionar la página solicitada a un navegador anónimo (es decir, el usuario no tiene que proporcionar un nombre de usuario y contraseña de acceso), el siguiente contenido se envía desde el servidor al cliente:
7/8/99 10:27:16 Recibido http/1.1 200 OK
Servidor: Microsoft-IIS/5.0
Conexión: mantener alive
Fecha: Jue, 8 de julio de 1999 10:27:16 GMT
Tipo de contenido: texto/html
Aceptar a los rangos: bytes
Contenido-longitud: 2946
Último modificado: jueves, 8 de julio de 1999 10:27:16 GMT
Cookie: VisitCount = 3 & LastDate = 7/8/99 10:27:16 AM
< html >
… RESTA DE PÁGINA ...
</html >
Se puede ver que el servidor explica el software y la versión que utiliza para el cliente. La primera línea muestra que se usa el protocolo HTTP y el estado del código de retorno. Mensaje 200 OK significa que la solicitud fue aceptada y satisfecha. La siguiente información son los detalles de la página que se devuelve, incluido el tipo MIME (contenido-longitud :), el tamaño (byte), el último tiempo de cambio y la cookie de regreso almacenada por el cliente. La otra información en la respuesta es el flujo de información del contenido de la página.
En algunos casos, el servidor no puede devolver una página después de responder a una solicitud, tal vez porque la página no existe, o el cliente no tiene los permisos correspondientes para acceder a ella. Discutiremos los problemas de seguridad más adelante. Ahora, para situaciones en las que no existe la página de solicitud (por ejemplo, el usuario ingresó la URL incorrecta en la barra de direcciones del navegador), la información devuelta comienza con:
7/8/99 14:27:16 Recibido http/1.1 404 no encontrado
Servidor: Microsoft-IIS/5.0
…
Aquí, el código de estado y la información indican que no se puede encontrar la página solicitada por el cliente. El navegador puede usar esta información para mostrar la información correspondiente al usuario (en este caso, en IE 5.0, no se muestra la información de respuesta del servidor, sino la página de indicador de error de ayuda correspondiente) o la página predeterminada creada por el servidor (depende de la configuración del servidor). Objetos de solicitud y respuesta
Los detalles de poder aplicar las solicitudes del cliente y las respuestas del servidor de ASP se implementan a través de los objetos de solicitud y respuesta incorporados de ASP.
· Solicitar objeto: proporciona scripts con toda la información proporcionada por el cliente cuando el cliente solicita una página o pasa un formulario. Esto incluye variables HTTP que pueden indicar el navegador y el usuario, cookies almacenadas en el navegador bajo este nombre de dominio, cualquier valor de control HTML adjunto como una cadena de consulta a la cadena después de la URL o la sección <Form> de la página. Acceso autorizado utilizando Secure Socket Layer (SSL) u otros protocolos de comunicación cifrados, así como atributos que ayudan a administrar las conexiones.
· Objeto de respuesta: utilizado para acceder a la información de respuesta creada por el servidor y enviado de regreso al cliente. Proporciona variables HTTP para scripts que indican las funciones del servidor y el servidor e información sobre el contenido enviado de regreso al navegador, así como cualquier nueva cookies que se almacenará en el navegador para este dominio. También proporciona una gama de métodos para crear salidas, como el método omnipresente de respuesta.
1. Descripción general de los miembros del objeto de solicitud
a) Colección de objetos de solicitud
El objeto de solicitud proporciona 5 colecciones que se pueden utilizar para acceder a diversas información solicitada por el cliente al servidor web. Estas colecciones son las siguientes:
Colección y descripción de objetos de solicitud
| Nombre de colección | ilustrar |
| ClientCertificate | Cuando un cliente accede a una página u otro recurso, el conjunto numérico de todos los campos o entradas del certificado del cliente utilizado para indicar la identidad al servidor, cada miembro es de solo lectura |
| Galletas | Según la solicitud del usuario, una colección de todas las cookies emitidas por el sistema del usuario. Estas cookies solo son válidas para el dominio correspondiente, y cada miembro es de solo lectura |
| Forma | Cuando el valor de atributo del método es POST, cada miembro es de solo lectura para todos los conjuntos de valores de unidades de control HTML en la sección <Form> enviada como solicitud. |
| Consulta | Cada miembro es de solo lectura para el valor de todas las unidades de control HTML en <Form>, dependiendo del par de nombre/valor después de la URL solicitada por el usuario o enviada como una solicitud y el atributo del método se obtiene (o se omite su atributo), o los valores de todas las unidades de control HTML en <Form> |
| Servidor de servidor | Una colección de valores de encabezado HTTP emitidos por la solicitud del cliente y los valores de varias variables de entorno del servidor web, cada miembro es de solo lectura |
b) Propiedades del objeto de solicitud
Las propiedades y la descripción únicas del objeto de solicitud se muestran en la siguiente tabla. Proporciona información sobre el número de bytes solicitados por el usuario. Raramente se usa en páginas ASP. Por lo general, nos centramos en el valor especificado en lugar de toda la cadena de solicitud.
| propiedad | ilustrar |
| Totlbytes | De solo lectura, devuelve el número completo de bytes de la solicitud emitida por el cliente |
c) Métodos de objeto de solicitud
El único método y descripción del objeto de solicitud se muestran en la siguiente tabla, que permite el acceso al contenido completo de la parte de solicitud del usuario que se pasa al servidor desde un segmento <form>.
Método y descripción del objeto de solicitud
| método | ilustrar |
| BinaryRead (recuento) | Cuando los datos se envían al servidor como parte de la solicitud posterior, se obtiene los bytes de datos de conteo de la solicitud del cliente y se devuelve una matriz de variantes (o Safearray). Si el código ASP ya hace referencia a la colección de request.form, este método no se puede utilizar. Al mismo tiempo, si se utiliza el método BinaryRead, no se puede acceder a la colección de formación de formaciones. |
2. Descripción general de los miembros del objeto de respuesta
a) Colección de objetos de respuesta
El objeto de respuesta tiene solo una colección, como se muestra en la siguiente tabla, que establece el valor de la cookie que desea colocar en el sistema del cliente, que es directamente equivalente a la colección request.cookies.
Colección y descripción de objetos de respuesta
| Nombre de colección | ilustrar |
| Galletas | En la respuesta actual, los valores de todas las cookies enviadas al cliente, este conjunto es solo de escritura |
b) Propiedades del objeto de respuesta
El objeto de respuesta también proporciona una serie de propiedades que se pueden leer (en la mayoría de los casos) y modificarse para que la respuesta pueda adaptarse a la solicitud. Estos son establecidos por el servidor y no necesitamos configurarlos. Cabe señalar que al establecer ciertas propiedades, la sintaxis utilizada puede ser diferente de lo que se usa comúnmente.
Propiedades y descripciones de objetos de respuesta
| propiedad | ilustrar |
| Buuffer = verdadero | falso | Leer/escribir, booleano, lo que indica si la salida creada por una página ASP se almacena en el búfer IIS hasta que se procesan todos los scripts de servidor en la página actual o se llaman a los métodos de descarga y final. Esta propiedad debe establecerse antes de que cualquier salida (incluida la información de informes HTTP) se envíe a IIS. Por lo tanto, en el archivo .asp, esta configuración debe estar en la primera línea después de la declaración <%@idioma = ...%>. ASP 3.0 El almacenamiento en búfer predeterminado está encendido (verdadero), mientras que en las versiones anteriores está apagada (falsa) |
| Caché | Leer/Escribir, Tipo de caracteres, configure esta propiedad en público para permitir que el servidor proxy almacene en caché las páginas. Si es privado, prohíbe el servidor proxy para almacenar en caché. |
| Charset = valor | Leer/escribir, tipo de caracteres, adjunte el nombre del conjunto de caracteres utilizado en el encabezado de tipo HTTP de contenido creado por el servidor para cada respuesta (por ejemplo: iso-latin-7) |
| Tipo de contenido = Mime-Type | Leer/escribir, tipo de caracteres, especifique el tipo de contenido HTTP de la respuesta y el tipo MIME estándar (como Text/XML o Image/GIF). Si es predeterminado, significa que se usa texto de tipo MIME/HTML, y el tipo de contenido le dice al navegador el tipo de contenido esperado. |
| Expira minutos | Leer/escribir, tipo numérico, indica el tiempo que la página es válida en minutos. Si el usuario solicita la misma página antes de la expiración del período de validez, el contenido en el búfer de visualización se leerá directamente. Después de este período válido, la página ya no se conservará en el búfer privado (usuario) o público (proxy). |
| Expira absoluto #date [tiempo] # | Leer/escribir, fecha/hora del tipo, indicando la fecha y hora absolutas cuando una página expira y ya no es válida |
| ISClientConnected | De solo solo lectura, Boolean, devuelve el indicador de estado de si el cliente todavía está conectado y descargado. Antes de que se haya ejecutado la página actual, si un cliente se transfiere a otra página, este indicador se puede usar para abortar el procesamiento (usando el método Respuesta. |
| Fotos (Fotos-Label-String) | Escriba solo, tipo de personaje, cree un encabezado de fotos para definir el nivel de vocabulario en el contenido de la página, como violencia, sexo, mal lenguaje, etc. |
| Estado = mensaje de código | Leer/escribir, tipo de caracteres, valores de estado e información que indican si el encabezado HTTP enviado de vuelta a la respuesta del cliente indica si el error o el procesamiento de la página tienen éxito. Por ejemplo, 200 OK y 404 no encontrados |
c) Métodos de objeto de respuesta
El objeto de respuesta proporciona una serie de métodos, como se muestra en la siguiente tabla, lo que permite que el procesamiento directo del contenido de la página creado se devuelva al cliente.
Métodos y descripciones de objetos de respuesta
| método | ilustrar |
| AddHeader (nombre, contenido) | Cree un encabezado HTTP personalizado utilizando valores de nombre y contenido y agréguelo a la respuesta. No se puede reemplazar un encabezado existente con el mismo nombre. Una vez que se ha agregado un encabezado, no se puede eliminar. Este método debe usarse antes de que cualquier contenido de página (es decir, texto y HTML) se envíe al cliente |
| Appendtolog (cadena) | Cuando use el formato de archivo de formato de archivo de registro extendido W3C, agregue una entrada al archivo de registro del servidor web solicitado por el usuario. Al menos requiere que se seleccione la tallo de URL en la página de propiedades extendidas del sitio que contiene la página |
| BinaryWrite (Safearray) | Escriba un rango de seguridad de tipo variante en el flujo de salida HTTP actual sin ninguna conversión de caracteres. Es muy útil para escribir información que no sea de cadena, como datos binarios solicitados por una aplicación personalizada o bytes binarios que forman un archivo de imagen |
| Claro() | Cuando Response.Buffer es verdadero, elimine el contenido de página amortiguado existente del búfer de respuesta IIS. Pero el encabezado de la respuesta HTTP se puede usar para abandonar las páginas parcialmente completadas |
| Fin() | Deje que el ASP finalice el script para procesar la página y devuelva el contenido creado actualmente, y luego abandone cualquier procesamiento adicional de la página |
| Enjuagar() | Envíe todas las páginas bufferidas actuales en el búfer IIS al cliente. Cuando la respuesta.buffer es verdadero, se puede usar para enviar parte del contenido de una página más grande a usuarios individuales |
| Redirigir (URL) | Al enviar un encabezado de objeto 302 movido en la respuesta, el navegador instruye la página de la dirección correspondiente de acuerdo con la URL de la cadena |
| Escribir (cadena) | Escriba los caracteres especificados en el flujo de información de respuesta HTTP actual y el búfer IIS para que se haga parte de la página de retorno |
Compartir: Contacto completo con aplicaciones de procedimientos almacenados en desarrollo ASP Hay muchos artículos sobre ASP y procedimientos almacenados, pero dudo que los autores lo hayan practicado. Leí mucha información relevante cuando estaba al principio y descubrí que muchos de los métodos proporcionados no eran el caso en la práctica. Para aplicaciones simples, estos datos