W3C-naplózás
A W3C kiterjesztett naplózás a kiszolgálóoldali naplózás típusa, amely engedélyezhető a kiszolgáló munkamenetében vagy URL-csoportjában. Ha a W3C-naplózás engedélyezve van egy URL-csoportban, a naplózás csak az URL-csoporthoz irányított kéréseken történik. Minden W3C-naplózás engedélyezésére konfigurált URL-csoporthoz külön naplófájl jön létre.
Ha a W3C-naplózás engedélyezve van a kiszolgálói munkamenetben, központi naplózási formaként működik a kiszolgálói munkamenetben lévő összes URL-csoport esetében. A rendszer egyetlen naplófájlt tart fenn a kiszolgálói munkamenet összes URL-csoportjához.
Az alábbi táblázat a HTTP Server API által naplózható mezőket sorolja fel. A tábla a HTTP_LOG_FIELD állandók egy részét tartalmazza. Az alábbiakban felsorolt mezők némelyikét a HTTP Server API belsőleg automatikusan hozza létre, ezért nem tartalmazza a HTTP_LOG_FIELDS_DATA struktúrát. A "Megjelenés másként" oszlop a naplófájlban megjelenő szöveget tartalmazza. A tábla adatai a naplófájlrekordban való előfordulás sorrendjében halmazosak.
A "LÉTREHOZOTT HTTP Server API" jelöléssel nem rendelkező mezőket alkalmazásonként HTTP_LOG_FIELDS_DATA struktúrában kell átadni. Az alkalmazás létrehozhatja ezeket a mezőket a neki átadott HTTP_REQUEST struktúrából.
Mező | Úgy jelenik meg, mint | Leírás | HTTP_LOG_FIELDS_DATA tag | HTTP_LOG_FIELDS állandók |
---|---|---|---|---|
Dátum | dátum | A tevékenység bekövetkezésének dátuma. | LÉTREHOZOTT HTTP Server API. | HTTP_LOG_FIELD_DATE |
Idő | Idő | Az az idő, amely az egyezményes világidő (UTC) szerint történt, amikor a tevékenység végbelépett. | LÉTREHOZOTT HTTP Server API. | HTTP_LOG_FIELD_TIME |
Szolgáltatásnév és példányszám | s-sitename | Az ügyfélen futó internetes szolgáltatás neve és példányszáma. | ServiceName | HTTP_LOG_FIELD_SITE_NAME |
Kiszolgáló neve | s-computername | Annak a kiszolgálónak a neve, amelyen a naplófájl-bejegyzés létrejött. | Kiszolgálónév | HTTP_LOG_FIELD_COMPUTER_NAME |
Kiszolgáló IP-címe | s-ip | Annak a kiszolgálónak az IP-címe, amelyen a naplófájl-bejegyzés létrejött. | ServerIp | HTTP_LOG_FIELD_SERVER_IP |
Módszer | cs-metódus | A kért igét, például a GET metódust. | Módszer | HTTP_LOG_FIELD_METHOD |
URI-szár | cs-uri-szár | Az ige célja, például Default.htm. | UriStem | HTTP_LOG_FIELD_URI_STEM |
URI-lekérdezés | cs-uri-query | A lekérdezés, ha van ilyen, amelyet az ügyfél próbált végrehajtani. Univerzális erőforrás-azonosító (URI) lekérdezésre csak dinamikus oldalak esetén van szükség. | UriQuery | HTTP_LOG_FIELD_URI_QUERY |
Kiszolgálóport | s-port | A szolgáltatáshoz konfigurált kiszolgálóport száma. | ServerPort | HTTP_LOG_FIELD_SERVER_PORT |
Felhasználónév | cs-username | A kiszolgálóhoz hozzáférő hitelesített felhasználó neve. A névtelen felhasználókat kötőjel jelzi. | UserName | HTTP_LOG_FIELD_USER_NAME |
Ügyfél IP-címe | c-ip | A kérést küldő ügyfél IP-címe. | ClientIp | HTTP_LOG_FIELD_CLIENT_IP |
Protokollverzió | cs-version | Az ügyfél által használt HTTP-protokoll verziója. | LÉTREHOZOTT HTTP Server API. | HTTP_LOG_FIELD_VERSION |
Felhasználói ügynök | cs(User-Agent) | Az ügyfél által használt böngészőtípus. | UserAgent | HTTP_LOG_FIELD_USER_AGENT |
Süti | cs(Cookie) | Az elküldött vagy fogadott cookie tartalma, ha van ilyen. | Süti | HTTP_LOG_FIELD_COOKIE |
Hivatkozói | cs(Referrer) | A webhely, amelyet a felhasználó legutóbb meglátogatott. Ez a webhely az aktuális webhelyre mutató hivatkozást adott meg. | Hivatkozói | HTTP_LOG_FIELD_REFERRER |
Házigazda | cs-host | A gazdagép fejlécének neve, ha van ilyen. | Házigazda | HTTP_LOG_FIELD_HOST |
HTTP-állapot | sc-status | A HTTP-állapotkód. | ProtocolStatus | HTTP_LOG_FIELD_STATUS |
Protokoll-alállapotok | sc-substatus | Az alállapot hibakódja. | Alállapotok | HTTP_LOG_FIELD_SUB_STATUS |
Win32 állapota | sc-win32-status | A Windows állapotkódja. | Win32Status | HTTP_LOG_FIELD_WIN32_STATUS |
Elküldött bájtok | sc-bytes | A kiszolgáló által küldött bájtok száma. | LÉTREHOZOTT HTTP Server API. | HTTP_LOG_FIELD_BYTES_SENT |
Fogadott bájtok | cs-bytes | A kiszolgáló által fogadott és feldolgozott bájtok száma. | LÉTREHOZOTT HTTP Server API. | HTTP_LOG_FIELD_BYTES_RECV |
Eltelt idő | időt vett igénybe | A művelet időtartama ezredmásodpercben. | LÉTREHOZOTT HTTP Server API. | HTTP_LOG_FIELD_TIME_TAKEN |
Stream-azonosító | streamid | A stream azonosítója. | LÉTREHOZOTT HTTP Server API. | HTTP_LOG_FIELD_STREAM_ID |
A naplófájl testre szabható ASCII szövegalapú formátum. A fájl mezőelőtagjai a következőképpen vannak definiálva:
Előképző | Leírás |
---|---|
s | Kiszolgálóműveletek. |
c | Ügyfélműveletek. |
Sc | Kiszolgáló–ügyfél műveletek. |
Cs | Ügyfél-kiszolgáló műveletek. |
Az alkalmazás kijelölhet egy vagy több W3C kiterjesztett naplófájlmezőt, de nem minden mező tartalmaz információkat. A kijelölt, de információval nem rendelkező mezők esetében helyőrzőként egy kötőjel (-) jelenik meg. Ha egy mező nem nyomtatható karaktert tartalmaz, a HTTP Server API egy pluszjelre (+) cseréli a naplófájl formátumának megőrzése érdekében. Ez általában vírustámadások esetén fordul elő, amikor például egy rosszindulatú felhasználó kocsivisszaadásokat és vonalcsatornákat küld, amelyek, ha nem a pluszjelre (+) cserélik, megszakítják a naplófájl formátumát. A mezők szóközökkel vannak elválasztva.
Ha egy mezőt engedélyez az URL-csoport vagy a kiszolgáló munkamenete, de nincs kijelölve a kéréshez, akkor a naplófájlban egy kötőjel (-) jelenik meg helyőrzőként.
A naplófájlok akkor jönnek létre, amikor az első kérés megérkezik az URL-csoportra vagy a kiszolgáló munkamenetére, a naplózás konfigurálásakor nem jönnek létre. Az alábbi példa egy W3C-naplófájl első naplófájl-bejegyzését mutatja be, amelyen engedélyezve van az ügyfél IP-címe, felhasználóneve, kiszolgáló IP-címe, kiszolgálóportja, metódusa, URI-szára, URI-lekérdezése, állapota és felhasználói ügynök mezője:
#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)
Az időt vett mező inicializálódik, amikor a HTTP Server API megkapja az első bájtot, mielőtt a kérést elemezni kezdené. Az időtúllépési időbélyeg az utolsó küldés befejezésekor leáll. Az eltelt idő nem tükrözi a hálózaton belüli időt. A webhelyre irányuló első kérés valamivel hosszabb időt mutat, mint más hasonló kérések, mivel a HTTP Server API megnyitja a naplófájlt az első kéréssel.