Pengelogan W3C
Pengelogan yang diperluas W3C adalah jenis pengelogan sisi server yang dapat diaktifkan pada sesi server atau grup URL. Saat pengelogan W3C diaktifkan pada grup URL, pengelogan hanya dilakukan pada permintaan yang dirutekan ke Grup URL. File log terpisah dibuat untuk setiap grup URL yang dikonfigurasi untuk mengaktifkan pengelogan W3C.
Ketika pengelogan W3C diaktifkan pada sesi server, pengelogan berfungsi sebagai bentuk pengelogan terpusat untuk semua grup URL di bawah sesi server. Satu file log dipertahankan untuk semua grup URL dalam sesi server.
Tabel berikut mencantumkan bidang yang dapat dicatat oleh HTTP Server API. Tabel berisi subset konstanta HTTP_LOG_FIELD. Beberapa bidang yang tercantum di bawah ini dibuat secara otomatis oleh HTTP Server API secara internal dan karenanya tidak terkandung dalam struktur HTTP_LOG_FIELDS_DATA. Kolom "Muncul Sebagai" berisi teks yang muncul di file log. Data dalam tabel berada dalam urutan kemunculan dalam rekaman file log.
Bidang yang tidak ditandai "HTTP Server API yang dihasilkan" harus diteruskan di dalam struktur HTTP_LOG_FIELDS_DATA oleh aplikasi. Aplikasi dapat menghasilkan bidang tersebut dari struktur HTTP_REQUEST yang diteruskan ke bidang tersebut.
Kebun | Muncul Sebagai | Deskripsi | Anggota HTTP_LOG_FIELDS_DATA | HTTP_LOG_FIELDS konstanta |
---|---|---|---|---|
Tanggal | tanggal | Tanggal terjadinya aktivitas. | HTTP Server API dihasilkan. | HTTP_LOG_FIELD_DATE |
Waktu | Waktu | Waktu, dalam waktu universal terkoordinasi (UTC), di mana aktivitas terjadi. | HTTP Server API dihasilkan. | HTTP_LOG_FIELD_TIME |
Nama Layanan dan Nomor Instans | s-sitename | Nama layanan Internet dan nomor instans yang berjalan pada klien. | ServiceName | HTTP_LOG_FIELD_SITE_NAME |
Nama Server | s-computername | Nama server tempat entri file log dihasilkan. | ServerName | HTTP_LOG_FIELD_COMPUTER_NAME |
Alamat IP Server | s-ip | Alamat IP server tempat entri file log dihasilkan. | ServerIp | HTTP_LOG_FIELD_SERVER_IP |
Metode | metode cs | Kata kerja yang diminta, misalnya, metode GET. | Metode | HTTP_LOG_FIELD_METHOD |
Batang URI | cs-uri-stem | Target kata kerja, misalnya, Default.htm. | UriStem | HTTP_LOG_FIELD_URI_STEM |
Kueri URI | cs-uri-query | Kueri, jika ada, yang coba dilakukan klien. Kueri Pengidentifikasi Sumber Daya Universal (URI) hanya diperlukan untuk halaman dinamis. | UriQuery | HTTP_LOG_FIELD_URI_QUERY |
Server Port | s-port | Nomor port server yang dikonfigurasi untuk layanan. | ServerPort | HTTP_LOG_FIELD_SERVER_PORT |
Nama Pengguna | cs-username | Nama pengguna terautentikasi yang mengakses server. Pengguna anonim ditunjukkan oleh tanda hubung. | Nama Pengguna | HTTP_LOG_FIELD_USER_NAME |
Alamat IP Klien | c-ip | Alamat IP klien yang membuat permintaan. | ClientIp | HTTP_LOG_FIELD_CLIENT_IP |
Versi Protokol | versi cs | Versi protokol HTTP yang digunakan klien. | HTTP Server API dihasilkan. | HTTP_LOG_FIELD_VERSION |
Agen Pengguna | cs(User-Agent) | Jenis browser yang digunakan klien. | UserAgent | HTTP_LOG_FIELD_USER_AGENT |
Kue | cs(Cookie) | Konten cookie yang dikirim atau diterima, jika ada. | Kue | HTTP_LOG_FIELD_COOKIE |
Perujuk | cs(Referen) | Situs yang terakhir dikunjungi pengguna. Situs ini menyediakan tautan ke situs saat ini. | Perujuk | HTTP_LOG_FIELD_REFERRER |
Tuan rumah | cs-host | Nama header host, jika ada. | Tuan rumah | HTTP_LOG_FIELD_HOST |
HTTP Status | sc-status | Kode status HTTP. | ProtocolStatus | HTTP_LOG_FIELD_STATUS |
Substatus Protokol | sc-substatus | Kode kesalahan substatus. | SubStatus | HTTP_LOG_FIELD_SUB_STATUS |
Win32 Status | sc-win32-status | Kode status Windows. | Win32Status | HTTP_LOG_FIELD_WIN32_STATUS |
Byte Terkirim | sc-byte | Jumlah byte yang dikirim oleh server. | HTTP Server API dihasilkan. | HTTP_LOG_FIELD_BYTES_SENT |
Byte Diterima | cs-byte | Jumlah byte yang diterima dan diproses oleh server. | HTTP Server API dihasilkan. | HTTP_LOG_FIELD_BYTES_RECV |
Waktu yang Dibutuhkan | waktu yang diambil | Lamanya waktu yang diambil tindakan, dalam milidetik. | HTTP Server API dihasilkan. | HTTP_LOG_FIELD_TIME_TAKEN |
ID Aliran | streamid | Id Aliran. | HTTP Server API dihasilkan. | HTTP_LOG_FIELD_STREAM_ID |
File log adalah format berbasis teks ASCII yang dapat disesuaikan. Awalan bidang dalam file didefinisikan sebagai berikut:
Awalan | Deskripsi |
---|---|
s | Tindakan server. |
c | Tindakan klien. |
Sc | Tindakan Server-ke-Klien. |
Cs | Tindakan Klien-ke-Server. |
Aplikasi dapat memilih satu atau beberapa bidang file log W3C Extended, namun, tidak semua bidang akan berisi informasi. Untuk bidang yang dipilih tetapi tidak ada informasi, tanda hubung (-) muncul sebagai tempat penampung. Jika bidang berisi karakter yang tidak dapat dicetak, HTTP Server API menggantinya dengan tanda plus (+) untuk mempertahankan format file log. Ini biasanya terjadi dengan serangan virus, ketika, misalnya, pengguna berbahaya mengirim pengembalian pengangkutan dan umpan baris yang, jika tidak diganti dengan tanda plus (+), akan merusak format file log. Bidang dipisahkan oleh spasi.
Jika bidang diaktifkan oleh grup URL atau sesi server, tetapi tidak dipilih untuk permintaan, bidang tersebut muncul di file log dengan tanda hubung (-) sebagai tempat penampung.
File log dibuat ketika permintaan pertama tiba di Grup URL atau sesi server, file tersebut tidak dibuat saat pengelogan dikonfigurasi. Contoh berikut menunjukkan entri file log pertama untuk file log W3C dengan ip Klien, Nama Pengguna, IP Server, Port Server, Metode, Batang URI, Kueri URI, Status, dan bidang Agen Pengguna diaktifkan:
#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)
Bidang yang diambil waktu diinisialisasi ketika HTTP Server API menerima byte pertama, sebelum permintaan diurai. Tanda waktu yang diambil waktu dihentikan ketika penyelesaian pengiriman terakhir terjadi. Waktu yang diambil tidak mencerminkan waktu di seluruh jaringan. Permintaan pertama ke situs menunjukkan waktu yang sedikit lebih lama yang diambil daripada permintaan serupa lainnya karena HTTP Server API membuka file log dengan permintaan pertama.