Jika Anda ingin menganalisis data website, Anda harus mengetahui terlebih dahulu dari mana data website tersebut berasal.
Ketika pengguna mengakses Internet, mereka akan mengirimkan permintaan layanan ke server. Permintaan yang dikirim dicatat oleh server di log server dalam catatan terpisah.
Pertama lihat log apache
10.1.1.95 - pengguna [18/Mar/2005:12:21:42 +0800] “GET /stats/awstats.pl?config=user HTTP/1.1″ 200 899 “http://10.1.1.1/pv/” "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; Maxthon)"
Di atas adalah log standar Apache.
Baris konten ini terdiri dari 9 item. Pada contoh di atas, dua item kosong, namun keseluruhan baris konten masih terbagi menjadi 9 item.
· Informasi pertama adalah alamat host jarak jauh. Artinya, IP mesin pengunjung. Server mengirimkan informasi balasan kepada pengunjung berdasarkan IP ini.
· Item kedua kosong, digantikan dengan placeholder "-". Faktanya, hal ini sering kali benar. Lokasi ini digunakan untuk mencatat identifikasi pengunjung, yang tidak hanya sekedar nama login pengunjung, namun alamat email pengunjung atau pengenal unik lainnya. Informasi ini dikembalikan oleh identd, atau langsung oleh browser. Pada masa-masa awal, lokasi ini sering mencatat alamat email pemirsanya. Namun, fitur ini tidak bertahan lama karena beberapa orang menggunakannya untuk mengumpulkan alamat email dan mengirim spam, dan hampir semua browser di pasaran sudah lama menghapus fitur ini. Jadi, saat ini, kemungkinan kita melihat alamat email di entri kedua di log sangat kecil.
· Item ketiga juga pengguna. Lokasi ini digunakan untuk mencatat nama yang diberikan pengunjung saat otentikasi. Tentu saja, jika beberapa konten di situs web mengharuskan pengguna untuk mengautentikasi, informasi ini tidak akan kosong. Namun, untuk sebagian besar situs web yang tidak memerlukan verifikasi login, entri ini akan tetap kosong di sebagian besar catatan di file log.
· Item keempat yang dicatat dalam log adalah waktu permintaan. Pesan ini diapit tanda kurung siku dan disebut "format log umum" atau "format bahasa Inggris standar". Oleh karena itu, catatan log dalam contoh di atas menunjukkan bahwa waktu permintaan adalah 18 Maret 2005, 12:21:42. "+0800" di akhir informasi waktu menunjukkan bahwa zona waktu server tertinggal 8 jam dari UTC.
· Informasi kelima dalam catatan log mungkin merupakan informasi yang paling berguna di seluruh catatan log. Ini memberitahu kita jenis permintaan apa yang diterima server. Format umum informasi ini adalah "Method Resource Protocol".
Pada contoh di atas, metodenya adalah GET. Metode lain yang mungkin sering muncul adalah POST dan HEAD. Ada banyak kemungkinan metode hukum, namun inilah tiga metode utama.
Sumber daya mengacu pada dokumen, atau URL, yang diminta browser dari server. Dalam contoh ini, browser meminta "/stats/awstats.pl?config=user".
Protokolnya biasanya HTTP, diikuti dengan nomor versi.
· Informasi keenam yang dicatat adalah kode status. Ini memberi tahu kita apakah permintaan berhasil atau kesalahan apa yang terjadi. Biasanya, nilainya adalah 200, yang berarti server berhasil merespons permintaan browser dan semuanya normal. Secara umum, kode status yang dimulai dengan 2 berarti berhasil, kode status yang dimulai dengan 3 berarti permintaan pengguna dialihkan ke lokasi lain karena berbagai alasan, kode status yang dimulai dengan 4 berarti ada kesalahan di sisi klien, dan kode status yang dimulai dengan 4 berarti ada semacam kesalahan di sisi klien. Kode status yang dimulai dengan 5 menunjukkan bahwa server mengalami kesalahan.
· Entri ketujuh dalam catatan log mewakili jumlah byte yang dikirim ke klien. Ini memberi tahu kita apakah transfer terhenti (yaitu apakah nilainya sama dengan ukuran file). Menambahkan nilai-nilai ini dalam catatan log memberi tahu Anda berapa banyak data yang dikirim server dalam sehari, minggu, atau bulan.
· Item kedelapan dalam catatan log mencatat direktori atau URL tempat pelanggan berada saat membuat permintaan. Kali ini adalah "http://10.1.1.1/pv/", yang merupakan halaman beranda di bawah direktori pv 10.1.1.1. Dalam kebanyakan kasus, halaman beranda akan berupa file web dengan jenis dan nama yang ditentukan setelah direktif DocumentRoot di httpd.conf.
· Item kesembilan dalam catatan log mewakili informasi rinci klien.
Di atas adalah penjelasan mengenai catatan log apache.
Kemudian beralih ke log IIS, catatannya serupa, hanya saja otentikasi login dikembalikan oleh identd, karena selalu kosong, telah menjadi konten cookie yang dikirim atau diterima, dan ada beberapa konten sub-status tambahan dari protokol.
Seperti yang Anda lihat di atas, sebagian besar data yang kami analisis dapat diperoleh, tetapi masih ada beberapa masalah. Saat pengguna mengklik tombol maju dan kembali pada browser, browser klien membaca cache terlebih dahulu, dan hanya menemukannya. dalam cache. Jika tidak, server akan meminta ulang. Oleh karena itu, apakah server dapat mengingat halaman tersebut setelah pengguna mengklik kembali atau meneruskan sepenuhnya bergantung pada cara halaman tersebut ditulis dan status mesin.
Saat menggunakan log asli untuk analisis, beberapa ifram kecil dan halaman lain akan diminta secara terpisah, sehingga jumlah permintaan untuk membuka halaman belum tentu 1. Ini juga merupakan beberapa kelemahan dari log asli.
Pada saat yang sama, catatan ini terutama untuk melacak status server dan keamanan server, dan beberapa data tidak dicatat.
· Hubungan antar halaman tidak dicatat, dan tidak ada hubungan antara halaman mana yang diakses pengguna.
· Tidak mungkin membedakan kunjungan tertentu dari pengguna, terutama untuk situs web yang tidak diharuskan untuk dapat diakses.
· Operasi halaman tidak dapat direkam, terutama operasi klik.
Jadi beberapa situs web telah mengembangkan metode perekamannya sendiri, biasanya menggunakan JS atau permintaan gambar satu piksel untuk merekam informasi ini.
Dengan cara ini, beberapa informasi dicatat, termasuk pengarah halaman sumber yang dikunjungi, nomor sesi, nomor cookie, dan data yang dihasilkan oleh klik. Dan data tersebut dapat langsung dicatat ke dalam database.
Penggunaan metode ini memang mengurangi kesulitan analisis dan menambah informasi yang dapat dianalisis, namun hal ini mengorbankan tingkat akurasi tertentu. Bisa dikatakan ada untung dan ruginya.
· Yang pertama adalah data yang dapat direkam. Karena dibuat di klien, jika terjadi kesalahan server, 100% data akan hilang. Server tidak merespons sama sekali, jadi bagaimana data dapat dikeluarkan? Selain itu, karena js perlu dimulai untuk mengirimkan data, semua data akan hilang sampai batas tertentu. Umumnya, jika status server tidak buruk, tingkat akurasi 98% dapat diterima.
· Data halaman sumber masih akan hilang. Karena hubungan antara lompatan halaman dan protokol, sejumlah halaman sumber akan hilang. Yang lebih merepotkan adalah halaman https dikirimkan menggunakan protokol terenkripsi, apa pun itu Apapun metode yang digunakan, itu akan hilang di halaman http.
· Hal ini sangat dipengaruhi oleh bahasa dan protokol halaman, Ajax, js, dll. dapat mempengaruhi keakuratan catatan.
· Terakhir, semua halaman harus ditambah kode. Jangan anggap remeh. Kalau halamannya banyak, ini masalah banget. Kalau halaman itu dilupakan, akan mempengaruhi data secara keseluruhan.
· IP mesin tidak dapat ditemukan. Ada beberapa perbedaan antara IP pada saat ini dan IP di log. Dalam beberapa kasus di mana beberapa mesin berbagi IP, yang dicatat bukanlah IP pada mesin akhir pengguna IP pada rute akses Internet.
Singkatnya, mengenai analisis situs web, karena hubungan antara metode perolehan data dan metode pemrograman situs web itu sendiri relatif rumit, Anda harus lebih berhati-hati saat menganalisis data situs web. Kegagalan dan jebakan dalam data dapat terjadi kapan saja waktu.
Sumber artikel: Buku catatan Lance