Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.
Vyplývá to z výzkumu, který jsem prováděl na začátku září. S měřením mi účinně pomohl Yuhů, data poskytl Český hosting. Děkuji!
Od 27. srpna do 7. září byl na stránkách Jak psát web umístěn kód, který javaskriptem zjistil lokální čas a časové pásmo v počítači uživatele, poslal to na server (v rámci speciálního HTTP požadavku), kde se vše zaznamenalo spolu s aktuálním serverovým časem. U každého přístupu se tak mohl porovnat stav hodin na počítači uživatele s přesným časem (serverové hodiny šly přesně). Prováděl jsem určitou kontrolu, zda prodleva mezi zpracováním HTTP požadavků není příliš velká. Po očištění dat bylo k dispozici 21 052 záznamů z 5220 unikátních IP adres, tedy dost velký vzorek.
Protože serverový čas byl uveden s přesností na sekundy, zaokrouhlil jsem i klientský čas z javaskriptu na celé sekundy dolů.
Mohl jsem analyzovat jednotlivé přístupy bez ohledu na to, že jich mohlo pocházet víc od jednoho uživatele, anebo pouze jednotlivé IP adresy. S IP adresami je ale potíž:
Data to potvrdila. U 15 % IP adres se během experimentu změnila přesnost hodin o více než 10 sekund, což mohlo těžko nastat tím, že by si takové množství uživatelů měnilo čas. Proto jsem bral v úvahu jenom jednotlivé přístupy. Ověřil jsem si, že výsledky, které uvádím dále, jsou velmi podobné pro přístupy i pro IP adresy.
U 4,5 % přístupů byl časový rozdíl mezi klientem a serverem větší než 45 minut. 188 přístupů (necelé jedno procento) mělo dokonce rozdíl větší než jeden rok. Jelikož ale byly časové rozdíly v takových případech blízké celému počtu hodin, dní, měsíců nebo roků, vyvozuji z toho, že hodiny uživatele byly chybně nařízeny – nastaveno špatné datum, případně špatná hodina nebo špatné časové pásmo.
U zbývajících přístupů byly odchylky hodin uživatele od skutečnosti mnohem menší. Například plných 90 % přístupů mělo odchylku do 5 minut. Podrobně si můžete rozložení odchylek prohlédnout na grafech:
Pozoruhodné je zjištění, že odchylku do 10 sekund (kladnou nebo zápornou) má přibližně polovina přístupů. A u 12 % přístupů (tedy zhruba každý osmý) jdou hodiny uživatele zcela správně, odchylka od serverového času je nulová.
Uvedené závěry ukazují, že se na hodiny v počítači uživatele dá do značné míry spolehnout. Pětiminutová odchylka u 90 % uživatelů je poměrně přijatelná tam, kde se má v určitý čas začít objevovat nějaká doplňková informace, upozornění, odkaz apod. Přesun hlídání času ze serverových skriptů na klientské může odlehčit provozu na serverech, stránka se pak může generovat v delších intervalech a víc kešovat.
V každém případě je ale nutné brát v úvahu, že
Aktualizace: Na přání některých komentujících doplňuji tabulku podle operačních systémů.
Podíly odchylek od správného času podle operačního systému (v %)
OS | 0 s | do 10 s | nad 45 min | # celkem |
---|---|---|---|---|
celkem | 11,8 | 50,1 | 4,4 | 21512 |
Windows XP | 12,5 | 64,9 | 4,2 | 12765 |
Windows NT/2000 | 16,8 | 37,8 | 2,5 | 4404 |
Windows 95/98/ME | 2,4 | 16,5 | 6,2 | 3812 |
Linux | 23,3 | 37,4 | 9,7 | 486 |
Mac | 25,0 | 56,3 | 25,0 | 32 |
ostatní | 23,1 | 0,0 | 0,0 | 13 |
Další články si můžete vyhledat v jednotlivých přihrádkách, případně podle data.
© Honza Hučín 2004–6
Šuplík běží na PIPNI.CZ. Díky!
8. 8. 16:48 | Pepa
7. 8. 21:26 | Honza Hučín
7. 8. 21:02 | Honza
6. 8. 14:29 | Pepa
3. 8. 18:29 | Honza
*1967, absolvent MFF UK v Praze (1991)
statistik, analytik, programátor, učitel, hudebník