Wednesday, December 28, 2011

Eesti serverite statistika algandmed

Kuna mu eelmine postitus eesti serverite teemal tekitas mõningat vastukaja, laadisin kõigile huvilistele andmekaevandamiseks üles statistika algandmed.

Faili saab alla laadida siit: eesti_serverid.txt.gz (4.9MB, lahtipakitult 42MB)

Faili formaat on järgmine:

---- XXXXX [Wed Dec 28 2011 11:11:14 GMT+0200 (EET)]\n
{"url":"http://www.server.ee", ....}

Kus XXXXX on number (protsessi id, mis konkreetset aadressi töötles), sellele järgneb aeg millal kirje faili lisati ning järgmisel real on JSON formaadis info aadressi kohta

JSON formaat

Juhul kui aadressi laadimisel esines viga, on struktuur järgmine

url: http://www.server.ee
error: socket hang up

Juhul, kui leht saadi kätte (hoolimata kas vastuskood oli 200 või 404 vms), on struktuur järgmine

url: http://www.server.ee # algne url, mille pihta päring tehti
meta:
    status: 200 # HTTP vastuskood (siin ei tohiks olla 30x, va. eternal loop)
    responseHeaders: # HTTP päringu päise kirjed
        server: Apache # Serveri signatuur
        content-encoding: gzip # vastus on pakitud gzip formaadis (võimalik ka deflate)
        ....
    finalUrl: http://www.server.ee/index2.html # URL milleni välja jõuti, kui oli vaja suunata
    redirectCount: 1 # Mitu suunamist tehti
    cookieJar: # Seatud küpsised (ka võimalikel suunamistel seatud)
        PHPSESSID: # küpsise nimi, väärtuseks massiiv, kuna võib olla mitu sama nimega
            -
                name: PHPSESSID
                value: 3fcf34fa436e3170a1aa75238f0d655a
                path: /
                _expires: 2011-12-28T09:46:49.138Z
                _domain: www.server.ee
    charset: ISO-8859-1 # HTML koodis määratud kodeeringu väärtus
    doctype:
        doctype: <!DOCTYPE html> # dokumendi tüübi tekst
        pos: 0 # mitmendast sümbolist hakkab (vanemad IEd ei arvesta kui algab hiljem kui 0)

Reaalne näide

---- 31903 [Wed Dec 28 2011 11:53:02 GMT+0200 (EET)]
{
    "url": "http://tr.ee",
    "meta": {
        "status": 200,
        "responseHeaders": {
            "date": "Wed, 28 Dec 2011 09:53:02 GMT",
            "server": "Apache/2.2.13/DataZone SP 2.0 (Unix) mod_zfpm/0.2",
            "content-encoding": "gzip",
            "expires": "Thu, 19 Nov 1981 08:52:00 GMT",
            "cache-control": "no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
            "pragma": "no-cache",
            "set-cookie": ["VTL=2d1df8f8913cec1537b1fcfdd8998648cdfc29dd; expires=Fri, 27-Dec-2013 09:53:02 GMT; path=/"],
            "x-pingback": "http://blog.tr.ee/rpc/pingback",
            "keep-alive": "timeout=5, max=100",
            "connection": "Keep-Alive",
            "transfer-encoding": "chunked",
            "content-type": "text/html"
        },
        "finalUrl": "http://blog.tr.ee/",
        "redirectCount": 1,
        "cookieJar": {
            "VTL": [{
                "name": "VTL",
                "value": "2d1df8f8913cec1537b1fcfdd8998648cdfc29dd",
                "expires": "2013-12-27T09:53:02.000Z",
                "path": "/",
                "_expires": "2013-12-27T09:53:02.000Z",
                "_domain": "blog.tr.ee"
            }]
        },
        "doctype": {
            "doctype": '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
            "pos": 1
        },
        "charset": "UTF-8"
    }
}

Näite juures on doctype positsiooniks 1, kui aga vaadata vaadeldud lehe sourcet, tundub et oleks 0. Vahe tuleb sisse sellest, et faili alguses asub unikood sümbol EF BB BF.