Partilhar via


Registo W3C

O log estendido do W3C é um tipo de log do lado do servidor que pode ser habilitado na sessão do servidor ou no grupo de URLs. Quando o log do W3C está habilitado em um grupo de URLs, o registro em log é executado somente em solicitações que são roteadas para o Grupo de URLs. Um arquivo de log separado é criado para cada grupo de URL configurado para habilitar o registro em log do W3C.

Quando o log do W3C está habilitado na sessão do servidor, ele funciona como uma forma centralizada de registro para todos os grupos de URL na sessão do servidor. Um único arquivo de log é mantido para todos os grupos de URL na sessão do servidor.

A tabela a seguir lista os campos que podem ser registrados pela API do servidor HTTP. A tabela contém um subconjunto das constantes HTTP_LOG_FIELD. Alguns dos campos listados abaixo são gerados automaticamente pela API do Servidor HTTP internamente e, portanto, não estão contidos na estrutura HTTP_LOG_FIELDS_DATA. A coluna "Aparece como" contém o texto que aparece no arquivo de log. Os dados na tabela estão na ordem de ocorrência no registro do arquivo de log.

Os campos que não estão marcados como "HTTP Server API gerada" devem ser passados dentro HTTP_LOG_FIELDS_DATA estrutura por aplicativo. O aplicativo poderia gerar esses campos a partir da estrutura de HTTP_REQUEST passada para ele.

Domínio Aparece como Descrição HTTP_LOG_FIELDS_DATA Membro HTTP_LOG_FIELDS constantes
Data data A data em que a atividade ocorreu. API do servidor HTTP gerada. HTTP_LOG_FIELD_DATE
Hora Hora A hora, em tempo universal coordenado (UTC), em que a atividade ocorreu. API do servidor HTTP gerada. HTTP_LOG_FIELD_TIME
Nome do serviço e número da instância s-nome do site O nome do serviço de Internet e o número da instância que estava sendo executado no cliente. Nome do Serviço HTTP_LOG_FIELD_SITE_NAME
Nome do servidor s-nome_do_computador O nome do servidor no qual a entrada do arquivo de log foi gerada. Nome do servidor HTTP_LOG_FIELD_COMPUTER_NAME
Endereço IP do servidor S-IP O endereço IP do servidor no qual a entrada do arquivo de log foi gerada. ServidorIp HTTP_LOG_FIELD_SERVER_IP
Método Método Cs O verbo solicitado, por exemplo, um método GET. Método HTTP_LOG_FIELD_METHOD
Haste URI cs-uri-tronco O alvo do verbo, por exemplo, Default.htm. UriStem HTTP_LOG_FIELD_URI_STEM
Consulta URI cs-uri-consulta A consulta, se houver, que o cliente estava tentando executar. Uma consulta URI (Universal Resource Identifier) é necessária apenas para páginas dinâmicas. UriQuery HTTP_LOG_FIELD_URI_QUERY
Porta do servidor porta-s s O número da porta do servidor que está configurado para o serviço. Porta do servidor HTTP_LOG_FIELD_SERVER_PORT
Nome de Utilizador cs-nome de usuário O nome do usuário autenticado que acessou o servidor. Os utilizadores anónimos são indicados por um hífen. Nome de Utilizador HTTP_LOG_FIELD_USER_NAME
Endereço IP do Cliente C-IP O endereço IP do cliente que fez a solicitação. ClientIp HTTP_LOG_FIELD_CLIENT_IP
Versão do protocolo cs-versão A versão do protocolo HTTP que o cliente usou. API do servidor HTTP gerada. HTTP_LOG_FIELD_VERSION
Agente de usuário cs(User-Agent) O tipo de navegador que o cliente usou. UserAgent HTTP_LOG_FIELD_USER_AGENT
Biscoitos cs(Cookie) O conteúdo do cookie enviado ou recebido, se houver. Biscoitos HTTP_LOG_FIELD_COOKIE
Referenciador cs(Referenciador) O site que o usuário visitou pela última vez. Este site forneceu um link para o site atual. Referenciador HTTP_LOG_FIELD_REFERRER
Anfitrião cs-host O nome do cabeçalho do host, se houver. Anfitrião HTTP_LOG_FIELD_HOST
HTTP Status SC-STATUS O código de status HTTP. ProtocolStatus HTTP_LOG_FIELD_STATUS
Substatus do protocolo substatus sc- O código de erro de substatus. Substatus HTTP_LOG_FIELD_SUB_STATUS
Win32 Status sc-win32-status O código de status do Windows. Win32Status HTTP_LOG_FIELD_WIN32_STATUS
Bytes enviados sc-bytes O número de bytes enviados pelo servidor. API do servidor HTTP gerada. HTTP_LOG_FIELD_BYTES_SENT
Bytes recebidos cs-bytes O número de bytes recebidos e processados pelo servidor. API do servidor HTTP gerada. HTTP_LOG_FIELD_BYTES_RECV
Tempo gasto tempo-demorado O período de tempo que a ação levou, em milissegundos. API do servidor HTTP gerada. HTTP_LOG_FIELD_TIME_TAKEN
ID do fluxo StreamID O ID do fluxo. API do servidor HTTP gerada. HTTP_LOG_FIELD_STREAM_ID

 

O arquivo de log é um formato baseado em texto ASCII personalizável. Os prefixos de campo no arquivo são definidos da seguinte forma:

Prefixo Descrição
s Ações do servidor.
c Ações do cliente.
SC Ações de servidor para cliente.
CS Ações de cliente para servidor.

 

O aplicativo pode selecionar um ou mais dos campos do arquivo de log estendido do W3C, no entanto, nem todos os campos conterão informações. Para campos selecionados, mas para os quais não há informações, um hífen (-) aparece como um espaço reservado. Se um campo contiver um caractere não imprimível, a API do Servidor HTTP o substituirá por um sinal de adição (+) para preservar o formato do arquivo de log. Isso normalmente ocorre com ataques de vírus, quando, por exemplo, um usuário mal-intencionado envia retornos de carro e feeds de linha que, se não forem substituídos pelo sinal de adição (+), quebrariam o formato do arquivo de log. Os campos são separados por espaços.

Se um campo estiver habilitado pelo grupo de URL ou sessão do servidor, mas não selecionado para a solicitação, ele aparecerá no arquivo de log com um hífen (-) como espaço reservado.

Os arquivos de log são criados quando a primeira solicitação chega ao grupo de URL ou sessão do servidor, eles não são criados quando o log é configurado. O exemplo a seguir mostra a primeira entrada de arquivo de log para um arquivo de log W3C com os campos IP do cliente, Nome de usuário, IP do servidor, Porta do servidor, Método, Haste de URI, Consulta URI, Status e Agente do usuário habilitados:

#Software: Microsoft HTTP Server API 2.0  
#Version: 1.0   // the log file version as it's described by "https://www.w3.org/TR/WD-logfile".
#Date: 2002-05-02 17:42:15  // when the first log file entry was recorded, which is when the entire log file was created.
#Fields: date time c-ip cs-username s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status cs(User-Agent)
2002-05-02 17:42:15 172.22.255.255 - 172.30.255.255 80 GET /images/picture.jpg - 200 Mozilla/4.0+(compatible;MSIE+5.5;+Windows+2000+Server)

O campo de tempo gasto é inicializado quando a API do Servidor HTTP recebe o primeiro byte, antes que a solicitação seja analisada. O carimbo de data/hora demorado é interrompido quando ocorre a última conclusão de envio. O tempo gasto não reflete o tempo em toda a rede. A primeira solicitação para o site mostra um tempo um pouco maior do que outras solicitações semelhantes porque a API do servidor HTTP abre o arquivo de log com a primeira solicitação.