Recomendado: Dicas de ASP: Melhore a eficiência do uso de cobrança de solicitação O acesso a uma coleção ASP para extrair um valor é um processo de consumo de recursos demorados e de computação. Como esta operação contém uma série de pesquisas por conjuntos relacionados, isso é muito mais lento do que acessar uma variável local. Portanto, se você pretende usar um valor da coleção de solicitações várias vezes na página
Solicitação e resposta são os dois objetos internos mais usados fornecidos pelo ASP. Entre o navegador (ou outro agente do usuário) e o servidor da Web, a troca de informações que ocorre na solicitação e resposta pode ser acessada e gerenciada através de dois objetos internos no ASP, chamados de objetos de solicitação e resposta.
Quase todo o trabalho a ser realizado na página ASP requer acesso a esses dois objetos. O uso desses dois objetos afetará a eficiência e a confiabilidade da página. Obviamente, seu principal objetivo é acessar o valor enviado de volta ao servidor pelo usuário, ou seja, obtenha do segmento <form> da página HTML ou anexá -lo ao URL como uma sequência de consulta e criar uma saída apropriada para retornar ao usuário e eles podem compartilhar muitos dos mesmos fatores. Por exemplo, ambos os objetos podem usar cookies armazenados no computador cliente.
Portanto, dividimos o conteúdo em duas partes independentes (parte de cada objeto) e começamos primeiro com a troca de informações entre o cliente e o servidor e depois estudamos cada objeto.
O conteúdo da pesquisa é:
· Como o cliente se comunica com o servidor para entregar a web ou outros recursos.
· Detalhes dos objetos de solicitação e resposta e o que eles são em comum.
· Como acessar o valor correspondente através de um formulário e sequência de consulta.
· Como ler ou criar cookies e armazená -los no computador do cliente.
· Quais são as variáveis do servidor? Como acessar e modificar cabeçalhos HTTP.
· Descreva alterações em outras entradas relacionadas, como o uso do certificado do cliente.
Comunicação entre clientes e servidores
Para economizar espaço, o navegador da palavra é usado no seguinte conteúdo. Mas deve -se lembrar que os aplicativos que podem acessar páginas da Web não são apenas navegadores, mas muitos aplicativos especiais baixam páginas da Web de sites, como programas especiais de clientes projetados para aqueles que têm defeitos de visão ou aqueles que têm outras dificuldades usando o navegador usual. O exemplo mais óbvio é o robô usado pelos mecanismos de pesquisa para acessar sites na web. Considere esses fatores de forma abrangente, incluindo navegadores da Web comuns, a palavra exata deve ser um agente do usuário.
Página de solicitação de conversa
Quando um navegador faz uma solicitação de página para um site, obviamente ele deve dizer ao servidor qual página está solicitando. A primeira coisa a fazer é estabelecer uma conexão com o servidor através do nome do domínio e, em seguida, fornecer o caminho completo e o nome da página solicitada. Por que você precisa de caminho e nome completo? A Web é um ambiente sem fronteiras, por isso é necessário criar uma sessão para identificar cada cliente (como o ASP pode fazer isso posteriormente).
Isso significa que toda vez que o servidor conclui o envio da página para o cliente, o servidor esquece completamente o cliente. Portanto, quando o cliente solicita a próxima página, é exatamente o mesmo que um novo visitante. O servidor não consegue se lembrar desse cliente e, portanto, não pode determinar qual página solicitou da última vez. Porque você não pode usar um caminho relativo para fornecer uma página, mesmo que a página contenha um link relativo, por exemplo:
< a href = http: //www.cuoxincom/download.asp> Próxima página </a>
O navegador criará automaticamente um URL completo de nova página usando o domínio e o caminho da página atual; ou use o elemento <Sase> na seção <head> da página para dizer ao navegador qual é o URL de todos os links em uma página. Por exemplo:
< Base Herf = http: //www.cuoxin.com >
Ao apontar o mouse para um link para uma página, ele pode ser visto na barra de status do navegador. O caminho para a página atual e o domínio atual ou o domínio base ou o caminho base foram combinados com o nome da página solicitado.
1. Detalhes das solicitações de clientes
A combinação do caminho completo e o nome da página solicitada é a única residência do servidor quando o navegador solicita a página. A solicitação do navegador também pode incluir a residência do host do navegador e o sistema operacional em execução pelo cliente. O conteúdo da informação real mudará de acordo com o navegador e apenas um pequeno número pode ser fornecido por outros aplicativos, como o robô do mecanismo de pesquisa. Para obter uma compreensão mais clara dessas informações, aqui está um par de páginas emitidas do IE 5.0
Informações de solicitação download.asp:
8/8/99 10:27:16 Enviado Get /store/download.asp http/1.1
Aceitar: Application/Msword, Application/Vnd.MS-Execl, Application/vnd.ms-
PowerPoint, imagem/gif, imagem/x-xbitmap, imagem/jpeg, imagem/pjpeg, aplicativo/x-
cometa, */ *
Aceitar-Language: en-us
Codificação: gzip, deflate
Referente: http://wwrox.com/main_menu.asp
Cookie: VisitCount = 2 & LastDate = 6/4/99 10:10:13
Agente de usuário: mozilla/4.0 (compatível; msie 5.0; windows 98)
Host: 212.250.238.67
Conexão: Keep-alive
A partir disso, pode -se observar que as informações contêm detalhes sobre o agente do usuário e a conexão do usuário (como o idioma padrão), bem como uma lista de tipos de arquivos ou aplicativos aceitáveis, que são do tipo MIME, e você verá mais adiante. O navegador pode aceitar vários arquivos de imagem e vários tipos de arquivos do Microsoft Office. Tipos de arquivo padrão, como TESX/HTML e Texto/Texto, não estão listados nele. */* Na lista de arquivos significa que qualquer tipo de arquivo pode ser enviado de volta ao navegador, interpretado pelo navegador ou por meio de um aplicativo plug-in.
Cookie: O cookie contido na entrada é armazenado no computador do cliente e é válido apenas para esse domínio. Se a solicitação for o resultado de clicar no link, em vez de inserir diretamente o URL na barra de endereços do navegador, referente: a entrada é exibida, que contém o URL completo da página de link.
Host: a entrada contém o endereço IP ou o nome do computador cliente. No entanto, isso não é suficiente para identificar com precisão o cliente. Porque quando eles se conectam através de um ISP, os endereços IP são alocados dinamicamente ou quando se conectam através de um servidor proxy, os endereços IP são do proxy e não do cliente real.
2. Detalhes da resposta do servidor
Para responder à solicitação acima e fornecer a página solicitada a um navegador anônimo (ou seja, o usuário não precisa fornecer um nome de usuário e uma senha de acesso), o conteúdo a seguir é enviado do servidor para o cliente:
8/8/99 10:27:16 Recebido http/1.1 200 ok
Servidor: Microsoft-IIS/5.0
Conexão: Keep-alive
Data: qui, 8 de julho de 1999 10:27:16 GMT
Tipo de conteúdo: texto/html
Ranges de aceitação: bytes
Comprimento de conteúdo: 2946
Último modificado: qui, 8 de julho de 1999 10:27:16 GMT
Cookie: VisitCount = 3 & LastDate = 7/8/99 10:27:16
< Html >
… Resto da página…
</html >
Pode -se observar que o servidor explica o software e a versão que usa para o cliente. A primeira linha mostra que o protocolo HTTP é usado e o status do código de retorno. Mensagem 200 OK significa que a solicitação foi aceita e satisfeita. As informações a seguir são os detalhes da página que estão sendo retornados, incluindo o tipo MIME (comprimento de conteúdo :), tamanho (byte), o último tempo de mudança e o cookie de retorno armazenado pelo cliente. A outra informação na resposta é o fluxo de informações do conteúdo da página.
Em alguns casos, o servidor não pode retornar uma página após responder a uma solicitação, talvez porque a página não exista, ou o cliente não possui as permissões correspondentes para acessá -la. Discutiremos questões de segurança posteriormente. Agora, para situações em que a página de solicitação não existe (por exemplo, o usuário inseriu o URL errado na barra de endereços do navegador), as informações retornadas começam com:
7/8/99 14:27:16 Recebido http/1.1 404 não encontrado
Servidor: Microsoft-IIS/5.0
...
Aqui, o código e as informações de status indicam que a página solicitada pelo cliente não pode ser encontrada. O navegador pode usar essas informações para exibir as informações correspondentes ao usuário (neste caso, no IE 5.0, as informações de resposta do servidor não são exibidas, mas a página prompt de erro de ajuda correspondente) ou a página padrão criada pelo servidor (dependente das configurações do servidor). Objetos de solicitação e resposta
Os detalhes de poder aplicar solicitações e respostas ao servidor do ASP são implementados por meio dos objetos de solicitação e resposta internos do ASP.
· Objeto de solicitação: fornece scripts com todas as informações fornecidas pelo cliente quando o cliente solicita uma página ou passa um formulário. Isso inclui variáveis HTTP que podem indicar o navegador e o usuário, cookies armazenados no navegador sob esse nome de domínio, qualquer valor de controle HTML conectado como uma sequência de consulta à sequência após a seção URL ou <form> da página. Acesso autorizado usando a camada de soquete segura (SSL) ou outros protocolos de comunicação criptografados, bem como atributos que ajudam a gerenciar conexões.
· Objeto de resposta: usado para acessar as informações de resposta criadas pelo servidor e enviadas de volta ao cliente. Fornece variáveis HTTP para scripts que indicam as funções do servidor e do servidor e informações sobre o conteúdo enviado de volta ao navegador, bem como a novos cookies que serão armazenados no navegador para esse domínio. Ele também fornece uma gama de métodos para criar saída, como o método onipresente de resposta.Write.
1. Visão geral dos membros do objeto de solicitação
a) Coleção de objetos de solicitação
O objeto de solicitação fornece 5 coleções que podem ser usadas para acessar várias informações solicitadas pelo cliente ao servidor da Web. Essas coleções são as seguintes:
Coleção e descrição dos objetos de solicitação
| Nome da coleção | ilustrar |
| ClientCertificate | Quando um cliente acessa uma página ou outro recurso, o conjunto numérico de todos os campos ou entradas do certificado de cliente usado para indicar identidade ao servidor, cada membro é somente leitura |
| Biscoitos | De acordo com a solicitação do usuário, uma coleção de todos os cookies emitidos pelo sistema do usuário. Esses cookies são válidos apenas para o domínio correspondente e cada membro é somente leitura |
| Forma | Quando o valor do atributo do método é postado, cada membro é somente leitura para todos os conjuntos de valores de unidades de controle HTML na seção <morm> enviada como solicitação. |
| Querystring | Cada membro é somente leitura para o valor de todas as unidades de controle HTML em <form>, dependendo do par de nome/valor após o URL solicitado pelo usuário ou enviado como uma solicitação e o atributo do método é GET (ou seu atributo é omitido) ou os valores de todas as unidades de controle HTML em <form> |
| ServerVariables | Uma coleção de valores de cabeçalho HTTP emitidos pela solicitação do cliente e os valores de várias variáveis de ambiente do servidor da web, cada membro é somente leitura |
b) Propriedades do objeto de solicitação
As propriedades exclusivas e a descrição do objeto de solicitação são mostradas na tabela a seguir. Ele fornece informações sobre o número de bytes solicitados pelo usuário. Raramente é usado nas páginas ASP. Geralmente nos concentramos no valor especificado em vez de em toda a string de solicitação.
| propriedade | ilustrar |
| Totlbytes | Somente leitura, retorna todo o número de bytes da solicitação emitida pelo cliente |
c) Métodos de objeto de solicitação
O único método e descrição do objeto de solicitação são mostrados na tabela a seguir, que permite o acesso ao conteúdo completo da peça de solicitação do usuário passada para o servidor de um segmento <form>.
Método e descrição do objeto de solicitação
| método | ilustrar |
| BinaryRead (contagem) | Quando os dados são enviados ao servidor como parte da solicitação de postagem, os bytes de dados de dados são obtidos da solicitação do cliente e uma matriz de variantes (ou SafeArray) é retornada. Se o código ASP já referenciar a coleta do Solicitação.Form, esse método não poderá ser usado. Ao mesmo tempo, se o método BinaryRead for usado, a coleção de request.form não poderá ser acessada |
2. Visão geral dos membros do objeto de resposta
a) Coleção de objetos de resposta
O objeto de resposta possui apenas uma coleção, conforme mostrado na tabela a seguir, que define o valor do cookie que você deseja colocar no sistema do cliente, que é diretamente equivalente à coleção Request.Cookies.
Coleção e descrição dos objetos de resposta
| Nome da coleção | ilustrar |
| Biscoitos | Na resposta atual, os valores de todos os cookies enviados de volta ao cliente, este conjunto é apenas de gravação |
b) Propriedades do objeto de resposta
O objeto de resposta também fornece uma série de propriedades que podem ser lidas (na maioria dos casos) e modificadas para que a resposta possa ser adaptada à solicitação. Estes são definidos pelo servidor e não precisamos configurá -los. Deve -se notar que, ao definir certas propriedades, a sintaxe usada pode ser diferente do que é comumente usado.
Propriedades e descrições de objetos de resposta
| propriedade | ilustrar |
| Buuffer = true | false | Leia/gravação, booleano, indicando se a saída criada por uma página ASP é armazenada no buffer IIS até que todos os scripts do servidor na página atual sejam processados ou os métodos de descarga e final sejam chamados. Esta propriedade deve ser definida antes que qualquer saída (incluindo informações de relatórios HTTP) seja enviada ao IIS. Portanto, no arquivo .asp, essa configuração deve estar na primeira linha após a instrução <%@idioma =…%>. O buffer padrão do ASP 3.0 está em (true), enquanto nas versões anteriores está desligado (false) |
| CacheControlsetting | Leia/gravação, tipo de caractere, defina esta propriedade como pública para permitir que o servidor proxy cache as páginas de cache. Se for privado, proíbe o servidor proxy para armazenar em cache. |
| Charset = valor | Leia/gravação, tipo de caractere, anexe o nome do conjunto de caracteres usado no cabeçalho do tipo conteúdo HTTP criado pelo servidor para cada resposta (por exemplo: iso-latina-7) |
| Tipo de conteúdo = tipo MIME | Leia/gravação, tipo de caractere, especifique o tipo de conteúdo HTTP da resposta e o tipo MIME padrão (como texto/xml ou imagem/gif). Se padrão, significa que o texto do tipo MIME/HTML é usado e o tipo de conteúdo informa ao navegador o tipo de conteúdo esperado. |
| Expira minutos | Leia/gravação, tipo numérico, indica o tempo de tempo em que a página é válida em minutos. Se o usuário solicitar a mesma página antes da expiração do período de validade, o conteúdo no buffer de exibição será lido diretamente. Após esse período válido, a página não será mais mantida no buffer privado (usuário) ou público (proxy). |
| Expira #date absoluto [tempo] # | Leia/escreva, data/hora, indicando a data e hora absolutas em que uma página expira e não é mais válida |
| IsClientConnected | Somente leitura, booleano, retorna o sinalizador de status de saber se o cliente ainda está conectado e baixado. Antes da página atual ser executada, se um cliente for transferido para outra página, esse sinalizador poderá ser usado para abortar o processamento (usando o método de resposta.end) |
| Fotos (Pics-Label-String) | Escreva apenas, tipo de personagem, crie um cabeçalho de fotos para definir o nível de vocabulário no conteúdo da página, como violência, sexo, linguagem ruim, etc. |
| Status = mensagem de código | Leia/gravação, tipo de caractere, valores de status e informações indicando se o cabeçalho HTTP enviado de volta à resposta do cliente indica se o processamento de erro ou página é bem -sucedido. Por exemplo 200 ok e 404 não encontrado |
c) Métodos de objeto de resposta
O objeto de resposta fornece uma série de métodos, conforme mostrado na tabela a seguir, permitindo que o processamento direto do conteúdo da página criado seja retornado ao cliente.
Métodos e descrições de objetos de resposta
| método | ilustrar |
| AddHeader (nome, conteúdo) | Crie um cabeçalho HTTP personalizado usando valores de nome e conteúdo e adicione -o à resposta. Um cabeçalho existente com o mesmo nome não pode ser substituído. Depois que um cabeçalho foi adicionado, ele não pode ser excluído. Este método deve ser usado antes de qualquer conteúdo da página (ou seja, texto e html) é enviado ao cliente |
| Appendtolog (string) | Ao usar o formato de arquivo de arquivo de log estendido do W3C, adicione uma entrada ao arquivo de log do servidor da Web solicitado pelo usuário. Pelo menos exigem que a haste da URL seja selecionada na página de propriedades estendidas do site que contém a página |
| BinaryWrite (SafeArray) | Escreva um SafeArray do tipo variante no fluxo de saída HTTP atual sem qualquer conversão de caracteres. É muito útil para escrever informações de não coragem, como dados binários solicitados por um aplicativo personalizado ou bytes binários que compõem um arquivo de imagem |
| Claro() | Quando a resposta.Buffer for verdadeira, exclua o conteúdo da página em buffer existente do buffer de resposta do IIS. Mas o cabeçalho da resposta HTTP pode ser usado para abandonar as páginas parcialmente concluídas |
| Fim() | Deixe o ASP encerrar o script para processar a página e retornar o conteúdo criado atualmente e depois abandone qualquer processamento adicional da página |
| Flush () | Envie todas as páginas em buffer atuais no buffer do IIS para o cliente. Quando a resposta.Buffer é verdadeira, ele pode ser usado para enviar parte do conteúdo de uma página maior para usuários individuais |
| Redirecionar (URL) | Ao enviar um cabeçalho de 302 objeto movido na resposta, o navegador instrui a página do endereço correspondente de acordo com o URL da string |
| Write (string) | Escreva caracteres especificados no fluxo de informações de resposta HTTP atual e o buffer IIS para fazê -lo parte da página de retorno |
Compartilhar: contato completo com aplicativos de procedimento armazenados no desenvolvimento de ASP Existem muitos artigos sobre procedimentos ASP e armazenados, mas duvido que os autores realmente o pratiquem. Eu li muitas informações relevantes quando estava no começo e descobri que muitos dos métodos fornecidos não eram o caso na prática. Para aplicações simples, esses dados