Informática Numaboa - Tutoriais e Programação
Tutorial CGI - Variáveis de Contexto
Seg 17 Nov 2008 21:50 |
- Detalhes
- Categoria: Perl e CGI
- Atualização: Segunda, 17 Novembro 2008 22:16
- Autor: vovó Vicki
- Acessos: 5700
As variáveis de contexto CGI fazem parte da assim chamada "plataforma CGI". Um servidor web que disponibilize a plataforma também disponibiliza as variáveis de contexto em nível de sistema operacional. O script CGI tem acesso a essas variáveis, pode lê-las e utilizá-las. Também pode preencher ou até modificar o conteúdo de algumas dessas variáveis.
Generalidades
As variáveis de contexto da CGI existem independentemente das variáveis que forem definidas pelo programador num programa CGI.
Nas variáveis de contexto CGI estão armazenadas informações como, por exemplo, o nome do servidor web ou o tipo de navegador que chamou o script. Os valores dessas variáveis ficam à disposição do script enquanto ele estiver sendo executado.
Se o script foi chamado através do método GET de um formulário, os dados enviados pelo formulário também ficam numa variável de contexto.
Para poder acessar as variáveis de contexto, o script CGI precisa utilizar as técnicas de leitura de variáveis de contexto proporcionadas pela linguagem de programação utilizada. Em PERL, por exemplo, as variáveis de contexto podem ser alcançadas através de $ENV{'CONTEXTO_NOMEDAVARIÁVEL'};. Com um comando como print $ENV{'SERVER_NAME'}; você pode determinar o nome do servidor web onde se encontra o script. Como as variáveis de contexto, sob o ponto de vista PERL, estão armazenadas em Hash (listas associativas), você pode listar todas as variáveis com um comando como print %ENV.
Panorâmica das Variáveis de Contexto CGI
Nome da variável | Descrição |
CONTENT_LENGTH | Contém o número total de caracteres que o script CGI precisa ler como parâmetros enviados através do método POST. |
CONTENT_TYPE | Contém o Mime-Type dos parâmetros enviados ao script CGI através do método POST. Se o script for chamado através do método POST de um formulário, o Mime-Type típico é application/x-www-form-urlencoded. |
GATEWAY_INTERFACE | Contém a versão da plataforma CGI instalada no servidor web, por exemplo, CGI/1.1 |
HTTP_ACCEPT | Contém a lista de Mime-Types que o navegador requisitante suporta. O valor */* significa que o navegador suporta todos os tipos. |
HTTP_REFERER | Contém o endereço URL da página que chamou o script CGI. Nem todos os navegadores fornecem este parâmetro, portanto, esta variável nem sempre tem um valor disponível. |
HTTP_USER_AGENT | Contém informações do tipo e da versão do navegador requisitante. Portanto, é possível saber qual navegador o usuário está utilizando. |
PATH_INFO | Contém informações de path quando o script é solicitado através do método GET, sempre relativo ao diretório raiz do servidor web. |
PATH_TRANSLATED | Contém informações especiais de path quando o script é solicitado através do método GET. Difere do PATH_INFO porque corresponde à estrutura de diretórios do servidor. |
QUERY_STRING | Contém uma string de dados fornecida ao script através de uma chamada pelo método GET. Os dados seguem o padrão Mime-Type application/x-www-form-urlencoded. |
REMOTE_ADDR | Contém o endereço IP do servidor web através do qual o script CGI foi chamado se este servidor não for o que contém o script. Este valor nem sempre pode ser obtido. |
REMOTE_HOST | Contém o endereço do domínio do servidor web através do qual o script CGI foi chamado se este servidor não for o que contém o script. Este valor nem sempre pode ser obtido. |
REMOTE_IDENT | Contém informações de protocolo se no servidor web estiver ativado o protocolo ident para acessos protegidos. |
REMOTE_USER | Contém o nome do usuário que chamou o script CGI. Este valor só está disponível se a autenticação do servidor web estiver ativada. |
REQUEST_METHOD | Contém o método pelo qual o script CGI foi chamado, ou seja, GET ou POST. Um script CGI pode, por exemplo, obter o valor dessa variável para poder decidir como irá receber os parâmetros enviados: através da entrada padrão (do método POST) ou da variável de contexto QUERY_STRING (do método GET). |
SCRIPT_NAME | Contém o endereço URL do script CGI chamado relativo ao endereço de domínio, ou seja, por exemplo, /cgi-bin/busca.pl |
SERVER_NAME | Contém o nome do servidor web (www.xyz.com, por exemplo) ou seu endereço IP (127.0.0.1, por exemplo). |
SERVER_PORT | Contém o número da porta que foi designada para o servidor. Normalmente, para servidores web, a porta é 80. |
SERVER_PROTOCOL | Contém a versão do protocolo HTTP que o servidor web utiliza, por exemplo, HTTP/1.0 |
SERVER_SOFTWARE | Contém a definição do software instalado no servidor web, por exemplo, OmniHTTPd/2.0a1 (Win32; i386) |
Observações
Para terminar o grupo de textos do tutorial sobre CGI, agora só falta dar mais algumas explicações sobre os métodos GET e POST. É o último da série. Se você chegou até aqui, não desista... só falta mais um