4D lhe permite obter informação sobre o funcionamento de seu site web 4D.
Pode controlar o site utilizando URLs particulares (/4DSTATS, /4DHTMLSTATS, /4DCACHECLEAR e /4DWEBTEST).
Pode gerar um histórico de petições.
Pode obter informação sobre o servidor web na página Avaliação do Explorador de execução de 4D.
Nota: Por razões de segurança, a partir de 4D v15 R2, o método HTTP TRACE está desativado como padrão no 4D Web Server. Isso significa que quando uma requisição HTTP TRACE for recebida, o 4D Web Server agora retorna um erro 405 ("method not allowed"). Se quiser explicitamente ativar o método HTTP TRACE, deve usar a opção Web HTTP TRACE com o comando WEB SET OPTION.
O servidor web 4D aceita quatro URLs particulares: /4DSTATS, /4DHTMLSTATS, /4DCACHECLEAR e /4DWEBTEST.
/4DSTATS, /4DHTMLSTATS e /4DCACHECLEAR são acessíveis unicamente ao Criador e Administrador do banco. Se o banco não tiver sistema de senhas, essas URLs estão disponíveis para todos os usuários.
A URL /4DHTMLSTATS retorna, igualmente em forma de texto puro, a mesma informação que o URL /4DSTATS. A diferença é que no último campo (conteúdo no caché), só se retorna a lista das páginas HTML, sem os arquivos .GIF e .JPEG, presentes na caché.
A URL /4DCACHECLEAR provoca o apagamento imediato da cachê das páginas estáticas e das imagens. Lhe permite portanto forçar a atualização das páginas que foram modificadas.
A URL /4DWEBTEST foi criada para controlar o estado do servidor web. Quando se chama esta URL, 4D retorna um arquivo de texto que contém os seguintes campos HTTP:
Date: data atual no formato RFC 822 Por exemplo: “Date: Wed, 26 Jan 2000 13:12:50 GMT”
Server: 4D_version/número de versão interna Por exemplo: “4D WebStar_D/7.0”
User-Agent: nome e versão @ endereço IP do cliente Por exemplo: “Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 @ 127.0.0.1
A ativação e a configuração do conteúdo do arquivo de histórico se realizam nas Propriedades do banco, página Web/Histórico (formato):
Nota: a ativação e desativação do arquivo de histórico das requisições pode igualmente ser realizado por programação utilizando o comando SET DATABASE PARAMETER (4D v12) ou WEB SET OPTION (4D v13 e posteriores).
O menu de formato do histórico oferece as seguintes opções:
Sem histórico: quando esta opção estiver selecionada, 4D não gerará um arquivo de histórico das requisições.
CLF (Common Log Format): quando se seleciona esta opção, o histórico de requisições é gerado no formato CLF. Com o formato CLF, cada linha do arquivo representa uma requisição, por exemplo: host rfc931 user [DD/MMM/YYYY:HH:MM:SS] "request" state length
Cada campo está separado por um espaço e cada linha termina na sequência CR/LF (caractere 13, caractere 10).
host: direção IP do cliente (exemplo. 192.100.100.10)
rfc931: informação não gerada por 4D, é sempre um - (um sinal de menos)
usuário: nome do usuário tal qual é autenticado, ou do contrário - (sinal de menos). Se o nome de usuário contém espaços, serão substituídos por _ (um traço inferior ou grifo)
DD: dia, MMM: abreviação de 3 letras do nome do mês (Jan, Fev,...), YYYY: ano, HH: hora, MM: minutos, SS: segundos
A data e a hora são locais ao servidor.
request: requisição enviada pelo cliente (ex. GET /index.htm HTTP/1.0)
state: resposta dada pelo servidor.
length: tamanho dos dados devolvidos (exceto o cabeçalho HTTP) ou 0.
Nota: por razões de rendimento, as operações são guardadas no buffer de memória em pacotes de 1Kb antes de serem escritas no disco. As operações também estão escritas no disco se nenhuma requisição foi enviada por 5 segundos. Os possíveis valores de estado são os seguintes:
200: OK 204: Sem conteúdo 302: Redireção 304: Não modificado 400: Autenticação incorreta 401: Autenticação necessária 404: Não encontrado 500: Erro interno
O formato CLF não pode ser personalizado.
DLF (Combined Log Format): quando se seleciona esta opção, o histórico de requisições é gerado no formato DLF. O formato DLF é similar ao formato CLF e utiliza exatamente a mesma estrutura. Simplesmente contém dois campos HTTP adicionais ao final de cada requisição: Referer e User-agent.
- Referer: contém a URL da página que aponta ao documento solicitado. - User-agent: contém o nome e a versão do navegador ou do pacote cliente na origem da petição.
O formato DLF não pode ser personalizado.
ELF (Extended Log Format): quando esta opção estiver selecionada, o histórico de requisições é gerado no formato ELF. O formato ELF está amplamente expandido no mundo dos navegadores HTTP. Pode ser utilizado para criar históricos sofisticados, que respondam a necessidades específicas. Por esta razão, o formato ELF é personalizável: é possível escolher os campos a gravar assim como a ordem de inserção no arquivo.
WLF (WebStar Log Format): quando se seleciona esta opção, o histórico de requisições é gerado no formato WLF. O formato WLF foi desenvolvido especificamente para o servidor 4D WebSTAR. É similar ao formato ELF, com apenas uns poucos campos adicionais. Do mesmo jeito que o formato ELF, é personalizável.
Configurar os campos
Quando escolher o formato ELF (Extended Log Format) ou WLF (WebStar Log Format), a área “Formato personalizado do histórico Web” mostra os campos disponíveis para o formato. Deve selecionar cada campo a ser incluído no histórico. Para isso, utilize os botões de flecha ou simplesmente arraste e solte os campos que queira na área “Campos selecionados”.
Nota: não é possível selecionar o mesmo campo duas vezes.
A seguinte tabela lista os campos disponíveis para cada formato (em ordem alfabética) e descreve seus conteúdos:
Campo
ELF
WLF
Valor
BYTES_RECEIVED
X
Número de bytes recebidos pelo servidor
BYTES_SENT
X
X
Número de bytes enviados pelo servidor ao cliente
C_DNS
X
X
Direção IP do DNS (ELF: campo idêntico ao campo C_IP)
C_IP
X
X
Direção IP do cliente (por exemplo 192.100.100.10)
CONNECTION_ID
X
Número único da conexão
CS(COOKIE)
X
X
Informação sobre os cookies contidos na requisição HTTP
CS(HOST)
X
X
Campo Host da requisição HTTP
CS(REFERER)
X
X
URL da página que dirige ao documento solicitado
CS(USER_AGENT)
X
X
Informação sobre o software e o sistema operativo do cliente
CS_SIP
X
X
Direção IP do servidor
CS_URI
X
X
URI na qual a requisição se realiza
CS_URI_QUERY
X
X
Parâmetros de pesquisa de requisições
CS_URI_STEM
X
X
Parte da requisição sem os parâmetros de pesquisa
DATE
X
X
DD: día, MMM: abreviação de 3 letras para o mês (Jan, Fev, etc.), YYYY: ano
METHOD
X
X
Método HTTP utilizado para a requisição enviada ao servidor
PATH_ARGS
X
Parâmetros da CGI: string localizada depois do carctere “$”
STATUS
X
X
Resposta oferecida pelo servidor
TIME
X
X
HH: hora, MM: minutos, SS: segundos
TRANSFER_TIME
X
X
Tempo solicitado pelo servidor para gerar a resposta
USER
X
X
Nome do usuário se é autenticado; do contrário - (sinal de menos).
Se o nome de usuário contém espaços, são substituídos por _ (traço inferior ou grifo)
Como um arquivo de histórico de petições pode tornar-se de um tamanho considerável, é possível configurar um mecanismo de arquivo automático. A ativação de um backup pode estar baseada em um certo período de tempo (expresso em horas, dias, semanas ou meses), ou baseado no tamanho do arquivo; quando se alcança o tempo (ou tamanho de arquivo) definido, 4D automaticamente se fecha e guarda o arquivo de histórico atual e cria um novo.
Quando se ativa o backup do arquivo de histórico web, o arquivo histórico é guardado em uma pasta chamada “Logweb Archives,” a qual se cria no mesmo nível que o arquivo logweb.txt (ou seja, ao lado do arquivo de estrutura do banco).
O arquivo guardado se renomeia baseado no seguinte exemplo: “DYYYY_MM_DD_Thh_mm_ss.txt.” Por exemplo, para um arquivo guardado 4 de setembro de 2006 às 3:50 p.m. e 7 segundos: “D2006_09_04_T15_50_07.txt.”
Os parâmetros de backup automático do histórico de requisições se definem na página Web/Histórico (periodicidade) das Propriedades do banco:
Primeiro deve escolher a frequência (dias, semanas, etc.) ou com critério de tamanho limite do arquivo clicando no botão correspondente. Logo deve especificar o momento preciso para realizar o backup se for necessário.
Sem backup: a função de backup programado está desativada.
Todos os X hora(s): esta opção se utiliza para programar backups a determinadas horas. Pode introduzir um valor entre 1 e 24 . - a partir de: utilizado para definir a hora em que começará o primeiro backup.
Todos os X dia(s) às X: esta opção se utiliza para programar backups diários. Introduza 1 se deseja realizar um backup diariamente. Quando esta opção está selecionada, deve indicar a hora em que deve começar o backup.
Todos as X semana(s), dia às X: esta opção permite programar backups baseados em semanas. Introduza 1 se deseja realizar um backup semanalmente. Quando esta opção está selecionada, deve indicar o (os) dia(s) da semana e a hora em que o backup deve começar. Pode selecionar vários dias da semana se deseja. Por exemplo, pode utilizar esta opção para definir dois backups por semana: um na quarta e o outro na sexta.
Todos os X mês(es), X dia às X: esta opção se utiliza para programar backups baseados em meses. Introduza 1 se deseja realizar um backup mensal. Quando esta opção estiver selecionada, deve indicar o dia do mês e a hora em que o backup deve começar.
Todos os X MB: esta opção se utiliza para programar backups baseados no tamanho do arquivo de histórico de requisições atual. Um backup se dispara automaticamente quando o arquivo alcança o tamanho definido. Pode definir um tamanho limite de 1, 10, 100 ou 1000 MB.
Nota: No caso dos backups programados, se o servidor web não foi lançado no momento do backup programado, no seguinte início 4D considera o backup como tendo falhado e aplica os parâmetros apropriados, definidos nas Propriedades.
A página Avaliação (“Informação”) no Explorador de execução mostra três tipos de informação relativas ao servidor web:
Ocupação da cachê web: indica o número de páginas presentes na cachê Web assim como a porcentagem de utilização. Esta informação só está disponível se o servidor web estiver ativo e se o tamanho da cachê for maior que 0.
Tempo de atividade do servidor web: indica a duração do funcionamento (em formato horas:minutos:segundos) do servidor web. Esta informação só está disponível se o servidor web estiver ativo.
Número de petições HTTP: indica o número total de petições HTTP recebidas desde o lançamento do servidor web, além do número instantâneo das petições por segundo (medida tomada entre duas atualizações do Explorador de execução). Esta informação só está disponível se o servidor web estiver ativo.
Nota: Para maior informação sobre o Explorador de execução, consulte o Manual de Desenho.