Errori e MIME

Errori

Log degli Errori

File e Livello di Logging

Parametri:

  • ErrorLog logs/error.log - file di log, sotto ServerRoot
  • LogLevel warn - sono loggati gli errori uguali o superiori a questo livello di severità
    • possibilità, in ordine crescente di severità: debug, info, notice, warn, error, crit, alert, emerg

Formato dei Log

Ogni evento di log è una singola linea. Quali siano gli elementi su tale linea dipende dal formato del log.

Sono definiti tre formati:

  • common - tradizionale, più corto
  • combined - con più informazioni
  • combinedio - con anche informazioni di input e output
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    #CustomLog logs/access.log common
    CustomLog logs/access.log combined
</IfModule>

Gli elementi del log sono rappresentati da segnalini

SegnalinoElemento
%hindirizzo IP del client
%lun trattino (-)
%unome utente, o trattino se manca
%ttimestamp
%rrichiesta
%>sstato del responso
%bdimensione dell'oggetto ritornato
%Ibytes ricevuti
%Obytes inviati
%{Referer}ireferer - indirizzo da cui la richiesta è provenuta tramite un link
%{User-Agent}iinformazioni sul browser

Esempio di linea log combinedio:

81.95.52.96 - - [12/Oct/2012:11:25:58 +0100] "GET /docs HTTP/1.1" 200 3623 
"http://webarch.net/docs/hosting-logs" "Mozilla/5.0 (X11; Linux i686; rv:15.0) 
Gecko/20100101 Firefox/15.0.1" 1224 6793

Errori Customizzabili

Esempi:

  • ErrorDocument 500 "The server made a boo boo." - testo diretto
  • ErrorDocument 404 /missing.html - pagina statica locale
  • ErrorDocument 404 "/cgi-bin/missing_handler.pl" - programma CGI di gestione
  • ErrorDocument 402 http://www.example.com/subscription_info.html - pagina remota

Gestione MIME

Il Multimedia Internet Message Extensions identifica files non US ASCII.

Ognuno di tali files ha una possibile codifica, handler di gestione, filtro di output.

Il seguente è un estratto del segmento di configurazione:

<IfModule mime_module>
    TypesConfig /etc/apache2/mime.types
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    #AddHandler cgi-script .cgi
    #AddHandler type-map var
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>

Ove:

  • TypesConfig /etc/apache2/mime.types - file di definizione dei tipi MIME
  • #AddEncoding x-compress .Z - aggiunta di una codifica
  • AddType application/x-compress .Z - aggiunta del tipo MIME corrispondente alla codifica
  • AddType application/x-gzip .gz .tgz - aggiunta di un tipo MIME
  • #AddHandler cgi-script .cgi - aggiunta di uno handler: tutti i files con estensione .cgi, nella directory appropriata definita altrove, sono programmi con interfaccia CGI
  • #AddHandler type-map var - aggiunta di una mappa (opzione negoziabile)
  • #AddType text/html .shtml - l'estensione .shtml identifica un file HTML
  • #AddOutputFilter INCLUDES .shtml - l'estensione .shtml invoca il filtro Server Side Includes