-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
-<html>\r
-<head>\r
-<meta name="description" content="AWStats Documentation - How to get web statisctics">\r
-<meta name="keywords" content="awstats, awstat, log, analysis, paper, how, paper, web, statistics">\r
-<meta name="robots" content="index,follow">\r
-<meta name="title" content="AWStats Documentation - Log Analysis Paper">\r
-<title>AWStats Documentation - Log Analysis Paper</title>\r
-<link rel="stylesheet" href="styles.css" type="text/css">\r
-<!-- $Revision$ - $Author$ - $Date$ -->\r
-</head>\r
-\r
-<body topmargin=10 leftmargin=5>\r
-\r
-\r
-<table style="font: 10pt arial,helvetica,verdana" cellpadding=0 cellspacing=0 border=0 bgcolor=#FFFFFF width=100%>\r
-\r
-<!-- Large -->\r
-<tr style="font: 10pt arial,helvetica,verdana">\r
-<td bgcolor=#9999cc align=center><a href="/"><img src="images/awstats_logo4.png" border=0></a></td>\r
-<td bgcolor=#9999cc align=center>\r
-<br>\r
-<font style="font: 16pt arial,helvetica,sanserif" color=#EEEEFF><b>AWStats Log Analysis Paper</b></font><br>\r
-<br>\r
-</td>\r
-<td bgcolor=#9999cc align=center>\r
- \r
-</td>\r
-</tr>\r
-\r
-</table>\r
-\r
-<br><br>\r
-This is all you need to know to get statistics of your web sites:<br>\r
-<b>The different ways to have them, the differences, their acuracy, etc...</b><br>\r
-\r
-\r
-<br><br><H1 style="font: 20x arial,helvetica,sanserif">How getting statistics for a website</H1>\r
-\r
-<br>\r
-<b>HTML Tag counter</b><br>\r
-<br>\r
-\r
-The goal of this way of working is to add a tag on web page, hosted by web site <i>www.mydomain</i>,\r
-that point to a page (may be a CGI script) hosted on a server called <i>tagserver</i> (may be the\r
-same), so that each time a visitor download a page the browser then make a query to server\r
-<i>tagserver</i>. When the server send answer to this tag, it increase a value by one in a database.<br>\r
-<u>What's good:</u><br>\r
-- Easy to do for newbie hosted by free web hosting provider.<br>\r
-- No need to have access to web server log file.<br>\r
-- This is the only way to get some kind of information like <b>screen size</b>, technologies\r
-supported by browsers like <b>Java</b>, <b>Flash</b>, <b>PDF</b> or file format reading capabilities\r
-of visitor computer (<b>Real</b>, <b>QuickTime</b>, or <b>Windows Media</b> files playing capabilities).<br>\r
-<u>What's wrong:</u><br>\r
-- If the browser use a cache or not, the page and counter link can be asked or not by browser\r
-so hit can be counted or not.<br>\r
-- You need to put the tag on each of your page (not only the home page) because a visitor can come\r
-into your site directly to a secondary page with no path on home page. According to web site size, popularity\r
-and content, visits path use the home page between 5% to 95% of times. Adding tags on all pages\r
-can be a very hard work.<br>\r
-- You can't detect robots as a lot of them does not download sub-links detected as CGI counter.<br>\r
-- You miss a lot of informations like keywords, referrers, search engines, ... <br>\r
-- When page is downloaded several times by same user when getting back on previous page, the\r
-referring link can be or not downloaded again.<br>\r
-<u>Summary:</u><br>\r
-Using a counter count something but nothing clear (not visits, nor visitors, nor page views).\r
-Because we don't know what a such tools count it's even not possible to make a study to have an\r
-average error rate for using a such way to get web statistics !<br>\r
-<br>\r
-\r
-<b>Log analysis</b><br>\r
-<br>\r
-\r
-Because there is so rubbish things that was said and are still said about log analysis, instead of\r
-telling why log analysis can be good, I prefer to tell first all what is said about log analysis\r
-and then tell if it's true or wrong.<br>\r
-You will see that a lot of people speaking about log\r
-analysis (authors of commercial products but also of old free log analyzers) are still living\r
-in a prehistorical time.<br>\r
-\r
-...Still in working progress...<br>\r
-\r
-<!--\r
-<HR noShade SIZE=2>\r
-This section is about what happens when somebody connects to your web site, and \r
-what statistics you can and can't calculate. There is a lot of confusion about \r
-this. It's not helped by statistics programs which claim to calculate things \r
-which cannot really be calculated, only estimated. The simple fact is that \r
-certain data which we would like to know and which we expect to know are simply \r
-not available. And the estimates used by other programs are not just a bit off, \r
-but can be very, very wrong. For example (you'll see why below), <EM>if your \r
-home page has 10 graphics on, and an AOL user visits it, most programs will \r
-count that as 11 different visitors!</EM> \r
-<P>This section is fairly long, but it's worth reading carefully. If you \r
-understand the basics of how the web works, you will understand what your web \r
-statistics are really telling you. \r
-<HR noShade SIZE=1>\r
-<B>1. The basic model.</B> Let's suppose I visit your web site. I follow a link \r
-from somewhere else to your front page, read some pages, and then follow one of \r
-your links out of your site. \r
-<P>So, what do you know about it? First, I make one request for your front page. \r
-You know the date and time of the request and which page I asked for (of \r
-course), and the internet address of my computer (my <I>host</I>). I also \r
-usually tell you which page referred me to your site, and the make and model of \r
-my browser. I do not tell you my username or my email address. \r
-<P>Next, I look at the page (or rather my browser does) to see if it's got any \r
-graphics on it. If so, and if I've got image loading turned on in my browser, I \r
-make a separate connection to retrieve each of these graphics. I never log into \r
-your site: I just make a sequence of requests, one for each new file I want to \r
-download. The referring page for each of these graphics is your front page. \r
-Maybe there are 10 graphics on your front page. Then so far I've made 11 \r
-requests to your server. \r
-<P>After that, I go and visit some of your other pages, making a new request for \r
-each page and graphic that I want. Finally, I follow a link out of your site. \r
-You never know about that at all. I just connect to the next site without \r
-telling you. \r
-\r
-\r
-\r
-<HR noShade SIZE=1>\r
-<B>2. Caches.</B> It's not always quite as simple as that. One major problem is \r
-caching. There are two major types of caching. First, my browser automatically \r
-caches files when I download them. This means that if I visit them again, the \r
-next day say, I don't need to download the whole page again. Depending on the \r
-settings on my browser, I might check with you that the page hasn't changed: in \r
-that case, you do know about it, and analog will count it as a new request for \r
-the page. But I might set my browser not to check with you: then I will read the \r
-page again without you ever knowing about it. \r
-<P>The other sort of cache is on a larger scale. Almost all ISP's now have their \r
-own cache. This means that if I try to look at one of your pages and <EM>anyone \r
-else from the same ISP</EM> has looked at that page recently, the cache will \r
-have saved it, and will give it out to me without ever telling you about it. \r
-(This applies whatever my browser settings.) So hundreds of people could read \r
-your pages, even though you'd only sent it out once. \r
-\r
-\r
-<HR noShade SIZE=1>\r
-<B>3. What you can know.</B> The only things you can know for certain are the \r
-number of requests made to your server, when they were made, which files were \r
-asked for, and which host asked you for them. \r
-<P>You can also know what people told you their browsers were, and what the \r
-referring pages were. You should be aware, though, that many browsers lie \r
-deliberately about what sort of browser they are, or even let users configure \r
-the browser name. Also, a few browsers send incorrect referrers, telling you the \r
-last page that the user was on even if they weren't referred by that page. And \r
-some people use "anonymizers" which deliberately send false browsers and \r
-referrers. \r
-\r
-\r
-<HR noShade SIZE=1>\r
-<B>4. What you can't know.</B> \r
-<OL type=i>\r
- <LI><I>You can't tell the identity of your readers</I>. Unless you explicitly \r
- require users to provide a password, you don't know who connected or what \r
- their email addresses are. \r
- <LI><I>You can't tell how many visitors you've had</I>. You can guess by \r
- looking at the number of distinct hosts that have requested things from you. \r
- Indeed this is what many programs mean when they report "visitors". But this \r
- is not always a good estimate for three reasons. First, if users get your \r
- pages from a local cache server, you will never know about it. Secondly, \r
- sometimes many users appear to connect from the same host: either users from \r
- the same company or ISP, or users using the same cache server. Finally, \r
- sometimes one user appears to connect from many different hosts. AOL now \r
- allocates users a <A \r
- href="http://webmaster.info.aol.com/network.html">different hostname for \r
- <I>every request</I></A>. So <EM>if your home page has 10 graphics on, and an \r
- AOL user visits it, most programs will count that as 11 different \r
- visitors!</EM> \r
- <LI><I>You can't tell how many visits you've had</I>. Many programs, under \r
- pressure from advertisers' organisations, define a "visit" (or "session") as a \r
- sequence of requests from the same host until there is a half-hour gap. This \r
- is an unsound method for several reasons. First, it assumes that each host \r
- corresponds to a separate person and vice versa. This is simply not true in \r
- the real world, as discussed in the last paragraph. Secondly, it assumes that \r
- there is never a half-hour gap in a genuine visit. This is also untrue. I \r
- quite often follow a link out of a site, then step back in my browser and \r
- continue with the first site from where I left off. Should it really matter \r
- whether I do this 29 or 31 minutes later? Finally, to make the computation \r
- tractable, such programs also need to assume that your logfile is in \r
- chronological order: it isn't always, and analog will produce the same results \r
- however you jumble the lines up. \r
- <LI><I>Cookies don't solve these problems</I>. Some sites try to count their \r
- visitors by using cookies. This reduces the errors. But it can't solve the \r
- problem unless you refuse to let people read your pages who can't or won't \r
- take a cookie. And you still have to assume that your visitors will use the \r
- same cookie for their next request. \r
- <LI><I>You can't follow a person's path through your site</I>. Even if you \r
- assume that each person corresponds one-to-one to a host, you don't know their \r
- path through your site. It's very common for people to go back to pages \r
- they've downloaded before. You never know about these subsequent visits to \r
- that page, because their browser has cached them. So you can't track their \r
- path through your site accurately. \r
- <LI><I>You often can't tell where they entered your site, or where they found \r
- out about you from</I>. If they are using a cache server, they will often be \r
- able to retrieve your home page from their cache, but not all of the \r
- subsequent pages they want to read. Then the first page you know about them \r
- requesting will be one in the middle of their true visit. \r
- <LI><I>You can't tell how they left your site, or where they went next</I>. \r
- They never tell you about their connection to another site, so there's no way \r
- for you to know about it. \r
- <LI><I>You can't tell how long people spent reading each page</I>. Once again, \r
- you can't tell which pages they are reading between successive requests for \r
- pages. They might be reading some pages they downloaded earlier. They might \r
- have followed a link out of your site, and then come back later. They might \r
- have interrupted their reading for a quick game of Minesweeper. You just don't \r
- know. \r
- <LI><I>You can't tell how long people spent on your site</I>. Apart from the \r
- problems in the previous point, there is one other complete show-stopper. \r
- Programs which report the time on the site count the time between the first \r
- and the last request. But they don't count the time spent on the final page, \r
- and this is often the majority of the whole visit. </LI></OL>\r
-<HR noShade SIZE=1>\r
-<B>5. Real data.</B> Of course, the important question is how much difference \r
-these theoretical difficulties make. In a recent paper (<CITE>World Wide \r
-Web</CITE>, <B>2</B>, 29-45 (1999): <A \r
-href="http://www.parc.xerox.com/istl/projects/uir/pubs/pdf/UIR-R-1999-02-Pirolli-WebJournal-Paths.pdf">PDF \r
-228kb</A>), Peter Pirolli and James Pitkow of Xerox Palo Alto Research Center \r
-examined this question using a ten day long logfile from the \r
-<KBD>xerox.com</KBD> web site. One of their most striking conclusions is that \r
-different commonly-used methods can give very different results. For example, \r
-when trying to measure the median length of a visit, they got results from 137 \r
-seconds to 629 seconds, depending exactly what you count as a new visitor or a \r
-new visit. As they were looking at a fixed logfile, they didn't consider the \r
-effect of server configuration changes such as refusing caching, which would \r
-change the results still more. \r
-<HR noShade SIZE=1>\r
-<B>6. Conclusion.</B> The bottom line is that HTTP is a stateless protocol. That \r
-means that people don't log in and retrieve several documents: they make a \r
-separate connection for each file they want. And <EM>a lot of the time they \r
-don't even behave as if they were logged into one site</EM>. The world is a lot \r
-messier than this naïve view implies. That's why analog reports requests, i.e. \r
-what is going on at your server, which you know, rather than guessing what the \r
-users are doing. \r
-<P>Defenders of counting visits etc. claim that these are just small \r
-approximations. I disagree. For example, almost everyone is now accessing the \r
-web through a cache. If the proportion of requests retrieved from the cache is \r
-50% (a not unrealistic figure) then half of the users' requests aren't being \r
-seen by the servers. \r
-<P>Other defenders of these methods claim that they're still useful because they \r
-measure <EM>something</EM> which you can use to compare sites. But this assumes \r
-that the approximations involved are comparable for different sites, and there's \r
-no reason to suppose that this is true. Pirolli & Pitkow's results show that \r
-the figures you get depend very much on how you count them, as well as on your \r
-server configuration. And even once you've agreed on methodology, different \r
-users on different sites have different patterns of behaviour, which affect the \r
-approximations in different ways: for example, Pirolli & Pitkow found \r
-different characteristics of weekday and weekend users at their site. \r
-<P>Still other people say that at least the trend over time of these numbers \r
-tells you something. But even that may not be true, because you may not be \r
-comparing like with like. Consider what would happen if a large ISP decided to \r
-change its proxy server configuration. It could substantially change your \r
-apparent number of visits, even if there was no actual change in the traffic \r
-levels at your site. \r
-<P>I've presented a somewhat negative view here, emphasising what you can't find \r
-out. Web statistics are still informative: it's just important not to slip from \r
-"this page has received 30,000 requests" to "30,000 people have read this page." \r
-In some sense these problems are not really new to the web -- they are present \r
-just as much in print media too. For example, you only know how many magazines \r
-you've sold, not how many people have read them. In print media we have learnt \r
-to live with these issues, using the data which are available, and it would be \r
-better if we did on the web too, rather than making up spurious numbers. \r
-<HR noShade SIZE=1>\r
-<B>7. Acknowledgements and further reading.</B> Many other people have made \r
-these points too. While originally writing this section, I benefited from three \r
-earlier expositions: <CITE><A \r
-href="http://www.ario.ch/etc/webstats.html">Interpreting WWW \r
-Statistics</A></CITE> by Doug Linder; <CITE>Getting Real about Usage \r
-Statistics</CITE> by Tim Stehle; and <CITE>Making Sense of Web Usage \r
-Statistics</CITE> by Dana Noonan. (The last two don't seem to be available on \r
-the web any more.) \r
--->\r
-\r
-<br>\r
-\r
-\r
-<b>Applicative tracking (cookies or session ...)</b><br>\r
-<br>\r
-\r
-...Still in working progress...\r
-<br>\r
-\r
-\r
-\r
-<br><br><H1 style="font: 20x arial,helvetica,sanserif">So How AWStats works ?</H1>\r
-\r
-<br>\r
-As we have seen previously, there is different ways to get and compute data.\r
-AWStats was built with one goal : Being more accurate than any other tool and use the most\r
-accurate technology to compute its statistics.\r
-That's the reason why AWStats simply uses all thoose methods. The default setup (also called\r
-the 'easy setup for newbies') is only <b>log analysis</b> (enhanced with all clever trips\r
-suggested in this paper to avoid errors made by most log analyzers), but it's highly recommanded\r
-to activate all AWStats feature if you are an experienced user to also use the other\r
-methods (<b>HTML tag counting</b> and <b>Applicative tracking</b>) to benefit of all\r
-advantage of them.<br>\r
-<br>\r
-\r
-<u>The conclusion is that :</u><br>\r
-<br>\r
-A log analyzer that does not include a very high level of intelligency in computing log files\r
-will give you very bad results. So most of authors of Commercial Products are wrong when\r
-they say that a log analysis is a very good way to have statistics. IT IS, BUT ONLY\r
-if the product uses complex rules to reduce errors, and that's not the case for\r
-their product (I study 2 of them, among the two most popular, and both of them were so\r
-simple in their "algorithm" that the error rate was between 40% to 250%.\r
-A log analysis is more than just counting lines in a file !).<br>\r
-<br>\r
-On the other hand, people that say a log analyzer can't give accurate results are also\r
-wrong, because when saying that, THEY FORGET THERE IS NOWDAYS NEW TECHNICS (like thoose developped\r
-in AWStats) TO EXCLUDE OR REDUCE SERIOUSLY CACHE BROWSERS, PROXY, IP LOCATION, WORMS, ROBOTS\r
-AND LOG WRITING BUFFERING PROBLEMS. Of course using thoose technics consumes a lot of\r
-time and reduces log analyzer speed by 2 or 3, but this give you very precise results.<br>\r
-<br>\r
-\r
-\r
-<br><br><H1 style="font: 20px arial,helvetica,sanserif">Other articles</H1>\r
-\r
-<br>\r
-<CITE>Measuring Web Site Usage: Log File Analysis</CITE> by Susan Haigh and Janette Megarity. \r
-Being on a Canadian government site, it's available in both <A href="http://www.nlc-bnc.ca/publications/1/p1-256-e.html">English</A>\r
-and <A href="http://www.nlc-bnc.ca/publications/1/p1-256-f.html">French</A>.<br>\r
-\r
-\r
-</body>\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<meta name="description" content="AWStats Documentation - How to get web statisctics">
+<meta name="keywords" content="awstats, awstat, log, analysis, paper, how, paper, web, statistics">
+<meta name="robots" content="index,follow">
+<meta name="title" content="AWStats Documentation - Log Analysis Paper">
+<title>AWStats Documentation - Log Analysis Paper</title>
+<link rel="stylesheet" href="styles.css" type="text/css">
+<!-- $Revision$ - $Author$ - $Date$ -->
+</head>
+
+<body topmargin=10 leftmargin=5>
+
+
+<table style="font: 10pt arial,helvetica,verdana" cellpadding=0 cellspacing=0 border=0 bgcolor=#FFFFFF width=100%>
+
+<!-- Large -->
+<tr style="font: 10pt arial,helvetica,verdana">
+<td bgcolor=#9999cc align=center><a href="/"><img src="images/awstats_logo4.png" border=0></a></td>
+<td bgcolor=#9999cc align=center>
+<br>
+<font style="font: 16pt arial,helvetica,sanserif" color=#EEEEFF><b>AWStats Log Analysis Paper</b></font><br>
+<br>
+</td>
+<td bgcolor=#9999cc align=center>
+
+</td>
+</tr>
+
+</table>
+
+<br><br>
+This is all you need to know to get statistics of your web sites:<br>
+<b>The different ways to have them, the differences, their acuracy, etc...</b><br>
+
+
+<br><br><H1 style="font: 20x arial,helvetica,sanserif">How getting statistics for a website</H1>
+
+<br>
+<b>HTML Tag counter</b><br>
+<br>
+
+The goal of this way of working is to add a tag on web page, hosted by web site <i>www.mydomain</i>,
+that point to a page (may be a CGI script) hosted on a server called <i>tagserver</i> (may be the
+same), so that each time a visitor download a page the browser then make a query to server
+<i>tagserver</i>. When the server send answer to this tag, it increase a value by one in a database.<br>
+<u>What's good:</u><br>
+- Easy to do for newbie hosted by free web hosting provider.<br>
+- No need to have access to web server log file.<br>
+- This is the only way to get some kind of information like <b>screen size</b>, technologies
+supported by browsers like <b>Java</b>, <b>Flash</b>, <b>PDF</b> or file format reading capabilities
+of visitor computer (<b>Real</b>, <b>QuickTime</b>, or <b>Windows Media</b> files playing capabilities).<br>
+<u>What's wrong:</u><br>
+- If the browser use a cache or not, the page and counter link can be asked or not by browser
+so hit can be counted or not.<br>
+- You need to put the tag on each of your page (not only the home page) because a visitor can come
+into your site directly to a secondary page with no path on home page. According to web site size, popularity
+and content, visits path use the home page between 5% to 95% of times. Adding tags on all pages
+can be a very hard work.<br>
+- You can't detect robots as a lot of them does not download sub-links detected as CGI counter.<br>
+- You miss a lot of informations like keywords, referrers, search engines, ... <br>
+- When page is downloaded several times by same user when getting back on previous page, the
+referring link can be or not downloaded again.<br>
+<u>Summary:</u><br>
+Using a counter count something but nothing clear (not visits, nor visitors, nor page views).
+Because we don't know what a such tools count it's even not possible to make a study to have an
+average error rate for using a such way to get web statistics !<br>
+<br>
+
+<b>Log analysis</b><br>
+<br>
+
+Because there is so rubbish things that was said and are still said about log analysis, instead of
+telling why log analysis can be good, I prefer to tell first all what is said about log analysis
+and then tell if it's true or wrong.<br>
+You will see that a lot of people speaking about log
+analysis (authors of commercial products but also of old free log analyzers) are still living
+in a prehistorical time.<br>
+
+...Still in working progress...<br>
+
+<!--
+<HR noShade SIZE=2>
+This section is about what happens when somebody connects to your web site, and
+what statistics you can and can't calculate. There is a lot of confusion about
+this. It's not helped by statistics programs which claim to calculate things
+which cannot really be calculated, only estimated. The simple fact is that
+certain data which we would like to know and which we expect to know are simply
+not available. And the estimates used by other programs are not just a bit off,
+but can be very, very wrong. For example (you'll see why below), <EM>if your
+home page has 10 graphics on, and an AOL user visits it, most programs will
+count that as 11 different visitors!</EM>
+<P>This section is fairly long, but it's worth reading carefully. If you
+understand the basics of how the web works, you will understand what your web
+statistics are really telling you.
+<HR noShade SIZE=1>
+<B>1. The basic model.</B> Let's suppose I visit your web site. I follow a link
+from somewhere else to your front page, read some pages, and then follow one of
+your links out of your site.
+<P>So, what do you know about it? First, I make one request for your front page.
+You know the date and time of the request and which page I asked for (of
+course), and the internet address of my computer (my <I>host</I>). I also
+usually tell you which page referred me to your site, and the make and model of
+my browser. I do not tell you my username or my email address.
+<P>Next, I look at the page (or rather my browser does) to see if it's got any
+graphics on it. If so, and if I've got image loading turned on in my browser, I
+make a separate connection to retrieve each of these graphics. I never log into
+your site: I just make a sequence of requests, one for each new file I want to
+download. The referring page for each of these graphics is your front page.
+Maybe there are 10 graphics on your front page. Then so far I've made 11
+requests to your server.
+<P>After that, I go and visit some of your other pages, making a new request for
+each page and graphic that I want. Finally, I follow a link out of your site.
+You never know about that at all. I just connect to the next site without
+telling you.
+
+
+
+<HR noShade SIZE=1>
+<B>2. Caches.</B> It's not always quite as simple as that. One major problem is
+caching. There are two major types of caching. First, my browser automatically
+caches files when I download them. This means that if I visit them again, the
+next day say, I don't need to download the whole page again. Depending on the
+settings on my browser, I might check with you that the page hasn't changed: in
+that case, you do know about it, and analog will count it as a new request for
+the page. But I might set my browser not to check with you: then I will read the
+page again without you ever knowing about it.
+<P>The other sort of cache is on a larger scale. Almost all ISP's now have their
+own cache. This means that if I try to look at one of your pages and <EM>anyone
+else from the same ISP</EM> has looked at that page recently, the cache will
+have saved it, and will give it out to me without ever telling you about it.
+(This applies whatever my browser settings.) So hundreds of people could read
+your pages, even though you'd only sent it out once.
+
+
+<HR noShade SIZE=1>
+<B>3. What you can know.</B> The only things you can know for certain are the
+number of requests made to your server, when they were made, which files were
+asked for, and which host asked you for them.
+<P>You can also know what people told you their browsers were, and what the
+referring pages were. You should be aware, though, that many browsers lie
+deliberately about what sort of browser they are, or even let users configure
+the browser name. Also, a few browsers send incorrect referrers, telling you the
+last page that the user was on even if they weren't referred by that page. And
+some people use "anonymizers" which deliberately send false browsers and
+referrers.
+
+
+<HR noShade SIZE=1>
+<B>4. What you can't know.</B>
+<OL type=i>
+ <LI><I>You can't tell the identity of your readers</I>. Unless you explicitly
+ require users to provide a password, you don't know who connected or what
+ their email addresses are.
+ <LI><I>You can't tell how many visitors you've had</I>. You can guess by
+ looking at the number of distinct hosts that have requested things from you.
+ Indeed this is what many programs mean when they report "visitors". But this
+ is not always a good estimate for three reasons. First, if users get your
+ pages from a local cache server, you will never know about it. Secondly,
+ sometimes many users appear to connect from the same host: either users from
+ the same company or ISP, or users using the same cache server. Finally,
+ sometimes one user appears to connect from many different hosts. AOL now
+ allocates users a <A
+ href="http://webmaster.info.aol.com/network.html">different hostname for
+ <I>every request</I></A>. So <EM>if your home page has 10 graphics on, and an
+ AOL user visits it, most programs will count that as 11 different
+ visitors!</EM>
+ <LI><I>You can't tell how many visits you've had</I>. Many programs, under
+ pressure from advertisers' organisations, define a "visit" (or "session") as a
+ sequence of requests from the same host until there is a half-hour gap. This
+ is an unsound method for several reasons. First, it assumes that each host
+ corresponds to a separate person and vice versa. This is simply not true in
+ the real world, as discussed in the last paragraph. Secondly, it assumes that
+ there is never a half-hour gap in a genuine visit. This is also untrue. I
+ quite often follow a link out of a site, then step back in my browser and
+ continue with the first site from where I left off. Should it really matter
+ whether I do this 29 or 31 minutes later? Finally, to make the computation
+ tractable, such programs also need to assume that your logfile is in
+ chronological order: it isn't always, and analog will produce the same results
+ however you jumble the lines up.
+ <LI><I>Cookies don't solve these problems</I>. Some sites try to count their
+ visitors by using cookies. This reduces the errors. But it can't solve the
+ problem unless you refuse to let people read your pages who can't or won't
+ take a cookie. And you still have to assume that your visitors will use the
+ same cookie for their next request.
+ <LI><I>You can't follow a person's path through your site</I>. Even if you
+ assume that each person corresponds one-to-one to a host, you don't know their
+ path through your site. It's very common for people to go back to pages
+ they've downloaded before. You never know about these subsequent visits to
+ that page, because their browser has cached them. So you can't track their
+ path through your site accurately.
+ <LI><I>You often can't tell where they entered your site, or where they found
+ out about you from</I>. If they are using a cache server, they will often be
+ able to retrieve your home page from their cache, but not all of the
+ subsequent pages they want to read. Then the first page you know about them
+ requesting will be one in the middle of their true visit.
+ <LI><I>You can't tell how they left your site, or where they went next</I>.
+ They never tell you about their connection to another site, so there's no way
+ for you to know about it.
+ <LI><I>You can't tell how long people spent reading each page</I>. Once again,
+ you can't tell which pages they are reading between successive requests for
+ pages. They might be reading some pages they downloaded earlier. They might
+ have followed a link out of your site, and then come back later. They might
+ have interrupted their reading for a quick game of Minesweeper. You just don't
+ know.
+ <LI><I>You can't tell how long people spent on your site</I>. Apart from the
+ problems in the previous point, there is one other complete show-stopper.
+ Programs which report the time on the site count the time between the first
+ and the last request. But they don't count the time spent on the final page,
+ and this is often the majority of the whole visit. </LI></OL>
+<HR noShade SIZE=1>
+<B>5. Real data.</B> Of course, the important question is how much difference
+these theoretical difficulties make. In a recent paper (<CITE>World Wide
+Web</CITE>, <B>2</B>, 29-45 (1999): <A
+href="http://www.parc.xerox.com/istl/projects/uir/pubs/pdf/UIR-R-1999-02-Pirolli-WebJournal-Paths.pdf">PDF
+228kb</A>), Peter Pirolli and James Pitkow of Xerox Palo Alto Research Center
+examined this question using a ten day long logfile from the
+<KBD>xerox.com</KBD> web site. One of their most striking conclusions is that
+different commonly-used methods can give very different results. For example,
+when trying to measure the median length of a visit, they got results from 137
+seconds to 629 seconds, depending exactly what you count as a new visitor or a
+new visit. As they were looking at a fixed logfile, they didn't consider the
+effect of server configuration changes such as refusing caching, which would
+change the results still more.
+<HR noShade SIZE=1>
+<B>6. Conclusion.</B> The bottom line is that HTTP is a stateless protocol. That
+means that people don't log in and retrieve several documents: they make a
+separate connection for each file they want. And <EM>a lot of the time they
+don't even behave as if they were logged into one site</EM>. The world is a lot
+messier than this naïve view implies. That's why analog reports requests, i.e.
+what is going on at your server, which you know, rather than guessing what the
+users are doing.
+<P>Defenders of counting visits etc. claim that these are just small
+approximations. I disagree. For example, almost everyone is now accessing the
+web through a cache. If the proportion of requests retrieved from the cache is
+50% (a not unrealistic figure) then half of the users' requests aren't being
+seen by the servers.
+<P>Other defenders of these methods claim that they're still useful because they
+measure <EM>something</EM> which you can use to compare sites. But this assumes
+that the approximations involved are comparable for different sites, and there's
+no reason to suppose that this is true. Pirolli & Pitkow's results show that
+the figures you get depend very much on how you count them, as well as on your
+server configuration. And even once you've agreed on methodology, different
+users on different sites have different patterns of behaviour, which affect the
+approximations in different ways: for example, Pirolli & Pitkow found
+different characteristics of weekday and weekend users at their site.
+<P>Still other people say that at least the trend over time of these numbers
+tells you something. But even that may not be true, because you may not be
+comparing like with like. Consider what would happen if a large ISP decided to
+change its proxy server configuration. It could substantially change your
+apparent number of visits, even if there was no actual change in the traffic
+levels at your site.
+<P>I've presented a somewhat negative view here, emphasising what you can't find
+out. Web statistics are still informative: it's just important not to slip from
+"this page has received 30,000 requests" to "30,000 people have read this page."
+In some sense these problems are not really new to the web -- they are present
+just as much in print media too. For example, you only know how many magazines
+you've sold, not how many people have read them. In print media we have learnt
+to live with these issues, using the data which are available, and it would be
+better if we did on the web too, rather than making up spurious numbers.
+<HR noShade SIZE=1>
+<B>7. Acknowledgements and further reading.</B> Many other people have made
+these points too. While originally writing this section, I benefited from three
+earlier expositions: <CITE><A
+href="http://www.ario.ch/etc/webstats.html">Interpreting WWW
+Statistics</A></CITE> by Doug Linder; <CITE>Getting Real about Usage
+Statistics</CITE> by Tim Stehle; and <CITE>Making Sense of Web Usage
+Statistics</CITE> by Dana Noonan. (The last two don't seem to be available on
+the web any more.)
+-->
+
+<br>
+
+
+<b>Applicative tracking (cookies or session ...)</b><br>
+<br>
+
+...Still in working progress...
+<br>
+
+
+
+<br><br><H1 style="font: 20x arial,helvetica,sanserif">So How AWStats works ?</H1>
+
+<br>
+As we have seen previously, there is different ways to get and compute data.
+AWStats was built with one goal : Being more accurate than any other tool and use the most
+accurate technology to compute its statistics.
+That's the reason why AWStats simply uses all thoose methods. The default setup (also called
+the 'easy setup for newbies') is only <b>log analysis</b> (enhanced with all clever trips
+suggested in this paper to avoid errors made by most log analyzers), but it's highly recommanded
+to activate all AWStats feature if you are an experienced user to also use the other
+methods (<b>HTML tag counting</b> and <b>Applicative tracking</b>) to benefit of all
+advantage of them.<br>
+<br>
+
+<u>The conclusion is that :</u><br>
+<br>
+A log analyzer that does not include a very high level of intelligency in computing log files
+will give you very bad results. So most of authors of Commercial Products are wrong when
+they say that a log analysis is a very good way to have statistics. IT IS, BUT ONLY
+if the product uses complex rules to reduce errors, and that's not the case for
+their product (I study 2 of them, among the two most popular, and both of them were so
+simple in their "algorithm" that the error rate was between 40% to 250%.
+A log analysis is more than just counting lines in a file !).<br>
+<br>
+On the other hand, people that say a log analyzer can't give accurate results are also
+wrong, because when saying that, THEY FORGET THERE IS NOWDAYS NEW TECHNICS (like thoose developped
+in AWStats) TO EXCLUDE OR REDUCE SERIOUSLY CACHE BROWSERS, PROXY, IP LOCATION, WORMS, ROBOTS
+AND LOG WRITING BUFFERING PROBLEMS. Of course using thoose technics consumes a lot of
+time and reduces log analyzer speed by 2 or 3, but this give you very precise results.<br>
+<br>
+
+
+<br><br><H1 style="font: 20px arial,helvetica,sanserif">Other articles</H1>
+
+<br>
+<CITE>Measuring Web Site Usage: Log File Analysis</CITE> by Susan Haigh and Janette Megarity.
+Being on a Canadian government site, it's available in both <A href="http://www.nlc-bnc.ca/publications/1/p1-256-e.html">English</A>
+and <A href="http://www.nlc-bnc.ca/publications/1/p1-256-f.html">French</A>.<br>
+
+
+</body>
</html>
\ No newline at end of file
-<?xml version="1.0" encoding="UTF-8" ?>\r
-<XML_DIZ_INFO>\r
- <MASTER_PAD_VERSION_INFO>\r
- <MASTER_PAD_VERSION>3.01</MASTER_PAD_VERSION>\r
- <MASTER_PAD_EDITOR>PADGen 3.0.1.37 http://www.padgen.org</MASTER_PAD_EDITOR>\r
- <MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://www.asp-shareware.org/pad</MASTER_PAD_INFO>\r
- </MASTER_PAD_VERSION_INFO>\r
- <Company_Info>\r
- <Company_Name>Laurent Destailleur</Company_Name>\r
- <Address_1>61 Boulevard Vauban</Address_1>\r
- <Address_2 />\r
- <City_Town>Montigny-le-Bretonneux</City_Town>\r
- <State_Province>Yvelines</State_Province>\r
- <Zip_Postal_Code>78180</Zip_Postal_Code>\r
- <Country>FRANCE</Country>\r
- <Company_WebSite_URL>http://www.destailleur.fr</Company_WebSite_URL>\r
- <Contact_Info>\r
- <Author_First_Name>Laurent</Author_First_Name>\r
- <Author_Last_Name>Destailleur</Author_Last_Name>\r
- <Author_Email>eldy@users.sourceforge.net</Author_Email>\r
- <Contact_First_Name>Laurent</Contact_First_Name>\r
- <Contact_Last_Name>Destailleur</Contact_Last_Name>\r
- <Contact_Email>eldy@users.sourceforge.net</Contact_Email>\r
- </Contact_Info>\r
- <Support_Info>\r
- <Sales_Email>eldy@users.sourceforge.net</Sales_Email>\r
- <Support_Email>eldy@users.sourceforge.net</Support_Email>\r
- <General_Email>eldy@users.sourceforge.net</General_Email>\r
- <Sales_Phone />\r
- <Support_Phone />\r
- <General_Phone />\r
- <Fax_Phone />\r
- </Support_Info>\r
- </Company_Info>\r
- <Program_Info>\r
- <Program_Name>AWStats</Program_Name>\r
- <Program_Version>6.8</Program_Version>\r
- <Program_Release_Month>04</Program_Release_Month>\r
- <Program_Release_Day>13</Program_Release_Day>\r
- <Program_Release_Year>2008</Program_Release_Year>\r
- <Program_Cost_Dollars />\r
- <Program_Cost_Other_Code />\r
- <Program_Cost_Other />\r
- <Program_Type>Freeware</Program_Type>\r
- <Program_Release_Status>Minor Update</Program_Release_Status>\r
- <Program_Install_Support>No Install Support</Program_Install_Support>\r
- <Program_OS_Support>Windows2000,WinXP,Windows2003,Windows Vista Starter,Windows Vista Home Basic,Windows Vista Home Premium,Windows Vista Business,Windows Vista Enterprise,Windows Vista Ultimate,Windows Vista Home Basic x64,Windows Vista Home Premium x64,Windows Vista Business x64,Windows Vista Enterprise x64,Windows Vista Ultimate x64,Unix,Linux,Linux GPL,Linux Open Source,MS-DOS,OS/2,OS/2 Warp,OS/2 Warp 4,Mac PPC,Mac OS X,Mac Other,OpenVMS</Program_OS_Support>\r
- <Program_Language>English,Arabic,Armenian,Bulgarian,Catalan,Chinese,ChineseSimplified,ChineseTraditional,Croatian,Czech,Danish,Dutch,Estonian,Finnish,French,Galician,German,Greek,Hebrew,Hungarian,Icelandic,Indonesian,Italian,Japanese,Korean,Latvian,Norwegian,Other,Polish,Portuguese,Romanian,Russian,Serbian,Slovak,Slovenian,Spanish,Swedish,Thai,Turkish,Ukrainian,Welsh</Program_Language>\r
- <Program_Change_Info />\r
- <Program_Specific_Category>Development Tools</Program_Specific_Category>\r
- <Program_Category_Class>Web Development::Log Analysers</Program_Category_Class>\r
- <Program_System_Requirements />\r
- <File_Info>\r
- <File_Size_Bytes>1076321</File_Size_Bytes>\r
- <File_Size_K>1051</File_Size_K>\r
- <File_Size_MB>1.03</File_Size_MB>\r
- </File_Info>\r
- <Expire_Info>\r
- <Has_Expire_Info>N</Has_Expire_Info>\r
- <Expire_Count />\r
- <Expire_Based_On>Days</Expire_Based_On>\r
- <Expire_Other_Info />\r
- <Expire_Month />\r
- <Expire_Day />\r
- <Expire_Year />\r
- </Expire_Info>\r
- </Program_Info>\r
- <Program_Descriptions>\r
- <English>\r
- <Keywords>awstats,opensource,log,logs,analyzer,analyze,webalyzer,analog,apache,iis,postfix,open,source,free,perl,mail,web,ftp,streaming,server,combined,file,webmin</Keywords>\r
- <Char_Desc_45>AWStats - Open source log file analyzer</Char_Desc_45>\r
- <Char_Desc_80>AWStats - Free log file analyzer for advanced web statistics (GNU GPL)</Char_Desc_80>\r
- <Char_Desc_250>AWStats is a free powerful and featureful server logfile analyzer that shows you</Char_Desc_250>\r
- <Char_Desc_450>AWStats is a free powerful and featureful web server logfile analyzer (Perl script) that shows you all your Web statistics including visits, unique visitors, pages, hits, rush hours, os, browser's versions, search engines, keywords, robots visits, broken links and more... Works with all major web, wap, proxy servers and some mail and ftp servers. Works as a CGI and/or from command line. Distributed under GNU General Public License.</Char_Desc_450>\r
- <Char_Desc_2000>AWStats is a free powerful and featureful tool that generates advanced web (but also ftp or mail) server\r
-statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages like visits, unique vistors, authenticated users, pages, domains/countries, OS busiest times, robot visits, type of files, search engines/keywords used, visits duration, screen size, HTTP errors and more...\r
-Statistics can be updated from a browser or your scheduler.\r
-It uses a partial information file to be able to process large log files, often and quickly.\r
-It can analyze log files from IIS (W3C log format), Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar and most of all web, proxy, wap, streaming servers (and ftp servers or mail logs).\r
-The program also supports virtual servers, plugins and a lot of features.</Char_Desc_2000>\r
- </English>\r
- <French>\r
- <Keywords>awstats,opensource,log,logs,analyseur,analyse,webalyzer,analog,apache,iis,open,source,libre,perl,mail,web,ftp,streaming,serveur,combined,fichier,webmin</Keywords>\r
- <Char_Desc_45>Analyseur de log libre</Char_Desc_45>\r
- <Char_Desc_80>Analyseur de log libre pour statistiques avancées</Char_Desc_80>\r
- <Char_Desc_250>Analyseur de log libre pour statistiques avancées</Char_Desc_250>\r
- <Char_Desc_450>AWStats est un analyseur de log synthétisant graphiquement toutes vos statistiques d'accès à vos serveurs web comme les visites, visiteurs uniques, pages, hits, heures de pointes, moteurs de recherche, mot clés, liens invalides et des fonctions inédites comme la détection des visites de robots indexeurs, le plus grand nombre de moteurs de recherche détéctés parmi les produits de sa catégorie, etc... Fonctionne avec les log de tout serveur Web.</Char_Desc_450>\r
- <Char_Desc_2000>AWStats est un outils pour générer des statistiques avancés d'un serveur web (mais aussi ftp ou mail) de manière graphique.\r
-Cet analyseur de log fonctionne en CGI ou en ligne de commande et syntétise toutes les informations que vos logs contiennent en\r
-quelques pages comme les visites, visiteurs uniques, logins, pages vues, domaines/pays, heures de pointes, visites des robots, \r
-type de fichiers, moteurs de recherche, mots et phrases clés, durée des visites, répartition clusters, erreurs HTTP mais aussi\r
-support java,flash,etc des navigateurs, résolution d'écran, estimation des ajouts aux favoris, etc...\r
-Les statistiques peuvent etre mise à jour par un navigateur ou un séquenceur.\r
-AWStats génère un fichier d'informations consolidés pour pouvoir traiter de large sites souvent et rapidement.\r
-Il peut analyser des logs IIS (W3C log format), fichier log Apache (format NCSA combined/XLF/ELF ou format common/CLF), WebStar et la plupart des logs de serveur web, proxy, wap, streaming serveurs (et aussi serveurs ftp et de mails).\r
-Ce programme supporte de plus les serveurs virtuels, des plugins et de nombreuses fonctionalités.</Char_Desc_2000>\r
- </French>\r
- </Program_Descriptions>\r
- <Web_Info>\r
- <Application_URLs>\r
- <Application_Info_URL>http://awstats.sourceforge.net</Application_Info_URL>\r
- <Application_Order_URL>http://awstats.sourceforge.net</Application_Order_URL>\r
- <Application_Screenshot_URL>http://awstats.sourceforge.net/docs/images/screen_shot_1.png</Application_Screenshot_URL>\r
- <Application_Icon_URL>http://awstats.sourceforge.net/docs/images/awstats.gif</Application_Icon_URL>\r
- <Application_XML_File_URL>http://awstats.sourceforge.net/docs/pad_awstats.xml</Application_XML_File_URL>\r
- </Application_URLs>\r
- <Download_URLs>\r
- <Primary_Download_URL>http://awstats.sourceforge.net/files/awstats.zip</Primary_Download_URL>\r
- <Secondary_Download_URL>http://downloads.sourceforge.net/awstats/awstats-6.8.tar.gz</Secondary_Download_URL>\r
- <Additional_Download_URL_1 />\r
- <Additional_Download_URL_2 />\r
- </Download_URLs>\r
- </Web_Info>\r
- <Permissions>\r
- <Distribution_Permissions />\r
- <EULA />\r
- </Permissions>\r
-</XML_DIZ_INFO>\r
+<?xml version="1.0" encoding="UTF-8" ?>
+<XML_DIZ_INFO>
+ <MASTER_PAD_VERSION_INFO>
+ <MASTER_PAD_VERSION>3.01</MASTER_PAD_VERSION>
+ <MASTER_PAD_EDITOR>PADGen 3.0.1.37 http://www.padgen.org</MASTER_PAD_EDITOR>
+ <MASTER_PAD_INFO>Portable Application Description, or PAD for short, is a data set that is used by shareware authors to disseminate information to anyone interested in their software products. To find out more go to http://www.asp-shareware.org/pad</MASTER_PAD_INFO>
+ </MASTER_PAD_VERSION_INFO>
+ <Company_Info>
+ <Company_Name>Laurent Destailleur</Company_Name>
+ <Address_1>61 Boulevard Vauban</Address_1>
+ <Address_2 />
+ <City_Town>Montigny-le-Bretonneux</City_Town>
+ <State_Province>Yvelines</State_Province>
+ <Zip_Postal_Code>78180</Zip_Postal_Code>
+ <Country>FRANCE</Country>
+ <Company_WebSite_URL>http://www.destailleur.fr</Company_WebSite_URL>
+ <Contact_Info>
+ <Author_First_Name>Laurent</Author_First_Name>
+ <Author_Last_Name>Destailleur</Author_Last_Name>
+ <Author_Email>eldy@users.sourceforge.net</Author_Email>
+ <Contact_First_Name>Laurent</Contact_First_Name>
+ <Contact_Last_Name>Destailleur</Contact_Last_Name>
+ <Contact_Email>eldy@users.sourceforge.net</Contact_Email>
+ </Contact_Info>
+ <Support_Info>
+ <Sales_Email>eldy@users.sourceforge.net</Sales_Email>
+ <Support_Email>eldy@users.sourceforge.net</Support_Email>
+ <General_Email>eldy@users.sourceforge.net</General_Email>
+ <Sales_Phone />
+ <Support_Phone />
+ <General_Phone />
+ <Fax_Phone />
+ </Support_Info>
+ </Company_Info>
+ <Program_Info>
+ <Program_Name>AWStats</Program_Name>
+ <Program_Version>6.8</Program_Version>
+ <Program_Release_Month>04</Program_Release_Month>
+ <Program_Release_Day>13</Program_Release_Day>
+ <Program_Release_Year>2008</Program_Release_Year>
+ <Program_Cost_Dollars />
+ <Program_Cost_Other_Code />
+ <Program_Cost_Other />
+ <Program_Type>Freeware</Program_Type>
+ <Program_Release_Status>Minor Update</Program_Release_Status>
+ <Program_Install_Support>No Install Support</Program_Install_Support>
+ <Program_OS_Support>Windows2000,WinXP,Windows2003,Windows Vista Starter,Windows Vista Home Basic,Windows Vista Home Premium,Windows Vista Business,Windows Vista Enterprise,Windows Vista Ultimate,Windows Vista Home Basic x64,Windows Vista Home Premium x64,Windows Vista Business x64,Windows Vista Enterprise x64,Windows Vista Ultimate x64,Unix,Linux,Linux GPL,Linux Open Source,MS-DOS,OS/2,OS/2 Warp,OS/2 Warp 4,Mac PPC,Mac OS X,Mac Other,OpenVMS</Program_OS_Support>
+ <Program_Language>English,Arabic,Armenian,Bulgarian,Catalan,Chinese,ChineseSimplified,ChineseTraditional,Croatian,Czech,Danish,Dutch,Estonian,Finnish,French,Galician,German,Greek,Hebrew,Hungarian,Icelandic,Indonesian,Italian,Japanese,Korean,Latvian,Norwegian,Other,Polish,Portuguese,Romanian,Russian,Serbian,Slovak,Slovenian,Spanish,Swedish,Thai,Turkish,Ukrainian,Welsh</Program_Language>
+ <Program_Change_Info />
+ <Program_Specific_Category>Development Tools</Program_Specific_Category>
+ <Program_Category_Class>Web Development::Log Analysers</Program_Category_Class>
+ <Program_System_Requirements />
+ <File_Info>
+ <File_Size_Bytes>1076321</File_Size_Bytes>
+ <File_Size_K>1051</File_Size_K>
+ <File_Size_MB>1.03</File_Size_MB>
+ </File_Info>
+ <Expire_Info>
+ <Has_Expire_Info>N</Has_Expire_Info>
+ <Expire_Count />
+ <Expire_Based_On>Days</Expire_Based_On>
+ <Expire_Other_Info />
+ <Expire_Month />
+ <Expire_Day />
+ <Expire_Year />
+ </Expire_Info>
+ </Program_Info>
+ <Program_Descriptions>
+ <English>
+ <Keywords>awstats,opensource,log,logs,analyzer,analyze,webalyzer,analog,apache,iis,postfix,open,source,free,perl,mail,web,ftp,streaming,server,combined,file,webmin</Keywords>
+ <Char_Desc_45>AWStats - Open source log file analyzer</Char_Desc_45>
+ <Char_Desc_80>AWStats - Free log file analyzer for advanced web statistics (GNU GPL)</Char_Desc_80>
+ <Char_Desc_250>AWStats is a free powerful and featureful server logfile analyzer that shows you</Char_Desc_250>
+ <Char_Desc_450>AWStats is a free powerful and featureful web server logfile analyzer (Perl script) that shows you all your Web statistics including visits, unique visitors, pages, hits, rush hours, os, browser's versions, search engines, keywords, robots visits, broken links and more... Works with all major web, wap, proxy servers and some mail and ftp servers. Works as a CGI and/or from command line. Distributed under GNU General Public License.</Char_Desc_450>
+ <Char_Desc_2000>AWStats is a free powerful and featureful tool that generates advanced web (but also ftp or mail) server
+statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages like visits, unique vistors, authenticated users, pages, domains/countries, OS busiest times, robot visits, type of files, search engines/keywords used, visits duration, screen size, HTTP errors and more...
+Statistics can be updated from a browser or your scheduler.
+It uses a partial information file to be able to process large log files, often and quickly.
+It can analyze log files from IIS (W3C log format), Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar and most of all web, proxy, wap, streaming servers (and ftp servers or mail logs).
+The program also supports virtual servers, plugins and a lot of features.</Char_Desc_2000>
+ </English>
+ <French>
+ <Keywords>awstats,opensource,log,logs,analyseur,analyse,webalyzer,analog,apache,iis,open,source,libre,perl,mail,web,ftp,streaming,serveur,combined,fichier,webmin</Keywords>
+ <Char_Desc_45>Analyseur de log libre</Char_Desc_45>
+ <Char_Desc_80>Analyseur de log libre pour statistiques avancées</Char_Desc_80>
+ <Char_Desc_250>Analyseur de log libre pour statistiques avancées</Char_Desc_250>
+ <Char_Desc_450>AWStats est un analyseur de log synthétisant graphiquement toutes vos statistiques d'accès à vos serveurs web comme les visites, visiteurs uniques, pages, hits, heures de pointes, moteurs de recherche, mot clés, liens invalides et des fonctions inédites comme la détection des visites de robots indexeurs, le plus grand nombre de moteurs de recherche détéctés parmi les produits de sa catégorie, etc... Fonctionne avec les log de tout serveur Web.</Char_Desc_450>
+ <Char_Desc_2000>AWStats est un outils pour générer des statistiques avancés d'un serveur web (mais aussi ftp ou mail) de manière graphique.
+Cet analyseur de log fonctionne en CGI ou en ligne de commande et syntétise toutes les informations que vos logs contiennent en
+quelques pages comme les visites, visiteurs uniques, logins, pages vues, domaines/pays, heures de pointes, visites des robots,
+type de fichiers, moteurs de recherche, mots et phrases clés, durée des visites, répartition clusters, erreurs HTTP mais aussi
+support java,flash,etc des navigateurs, résolution d'écran, estimation des ajouts aux favoris, etc...
+Les statistiques peuvent etre mise à jour par un navigateur ou un séquenceur.
+AWStats génère un fichier d'informations consolidés pour pouvoir traiter de large sites souvent et rapidement.
+Il peut analyser des logs IIS (W3C log format), fichier log Apache (format NCSA combined/XLF/ELF ou format common/CLF), WebStar et la plupart des logs de serveur web, proxy, wap, streaming serveurs (et aussi serveurs ftp et de mails).
+Ce programme supporte de plus les serveurs virtuels, des plugins et de nombreuses fonctionalités.</Char_Desc_2000>
+ </French>
+ </Program_Descriptions>
+ <Web_Info>
+ <Application_URLs>
+ <Application_Info_URL>http://awstats.sourceforge.net</Application_Info_URL>
+ <Application_Order_URL>http://awstats.sourceforge.net</Application_Order_URL>
+ <Application_Screenshot_URL>http://awstats.sourceforge.net/docs/images/screen_shot_1.png</Application_Screenshot_URL>
+ <Application_Icon_URL>http://awstats.sourceforge.net/docs/images/awstats.gif</Application_Icon_URL>
+ <Application_XML_File_URL>http://awstats.sourceforge.net/docs/pad_awstats.xml</Application_XML_File_URL>
+ </Application_URLs>
+ <Download_URLs>
+ <Primary_Download_URL>http://awstats.sourceforge.net/files/awstats.zip</Primary_Download_URL>
+ <Secondary_Download_URL>http://downloads.sourceforge.net/awstats/awstats-6.8.tar.gz</Secondary_Download_URL>
+ <Additional_Download_URL_1 />
+ <Additional_Download_URL_2 />
+ </Download_URLs>
+ </Web_Info>
+ <Permissions>
+ <Distribution_Permissions />
+ <EULA />
+ </Permissions>
+</XML_DIZ_INFO>
-body { \r
- background-color: #FFFFFF;\r
- font: 14px verdana,arial;\r
- font-family: sans-serif;\r
- margin-top: 4;\r
- margin-bottom: 4;\r
- margin-right: 6;\r
- margin-left: 6;\r
-}\r
-a:link { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }\r
-a:visited { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }\r
-a:active { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }\r
-a:hover { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: underline; }\r
-\r
-.CHead { background-color: #9999CC; }\r
-.CTextAreaConf { font: 11px verdana,arial; color: #202020; font-family: sans-serif; text-decoration: none; }\r
-\r
-td.CFAQ { font: 14px verdana,arial; color: #000000; font-family: sans-serif; text-decoration: none; }\r
-.CProblem { font: 14px verdana,arial; color: #660000; font-family: sans-serif; text-decoration: none; }\r
-.CSolution { font: 14px verdana,arial; color: #448866; font-family: sans-serif; text-decoration: none; }\r
-\r
-input {\r
+body {
+ background-color: #FFFFFF;
+ font: 14px verdana,arial;
+ font-family: sans-serif;
+ margin-top: 4;
+ margin-bottom: 4;
+ margin-right: 6;
+ margin-left: 6;
+}
+a:link { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }
+a:visited { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }
+a:active { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: none; }
+a:hover { font: 14px verdana,arial; color: #2200C0; font-family: sans-serif; text-decoration: underline; }
+
+.CHead { background-color: #9999CC; }
+.CTextAreaConf { font: 11px verdana,arial; color: #202020; font-family: sans-serif; text-decoration: none; }
+
+td.CFAQ { font: 14px verdana,arial; color: #000000; font-family: sans-serif; text-decoration: none; }
+.CProblem { font: 14px verdana,arial; color: #660000; font-family: sans-serif; text-decoration: none; }
+.CSolution { font: 14px verdana,arial; color: #448866; font-family: sans-serif; text-decoration: none; }
+
+input {
font-family: arial,verdana,helvetica, sans-serif;
font-weight: normal;
border: 1px solid #AAAACC;
background-position : bottom;
- font: 12px verdana,arial;\r
-}\r
+ font: 12px verdana,arial;
+}
-awstats-*.*\r
+awstats-*.*
-#!/usr/bin/perl\r
+#!/usr/bin/perl
#----------------------------------------------------------------------------
# \file make/makepack-awstats_webmin.pl
# \brief Package builder (tgz, zip, rpm, deb, exe)
# \author (c)2004-2005 Laurent Destailleur <eldy@users.sourceforge.net>
#----------------------------------------------------------------------------
-use Cwd;\r
-\r
-$PROJECT="awstats";\r
-$MAJOR="1";\r
-$MINOR="8";\r
-@LISTETARGET=("WBM"); # Possible packages\r
-%REQUIREMENTTARGET=( # Tool requirement for each package\r
-"WBM"=>"tar",\r
-"TGZ"=>"tar",\r
-"ZIP"=>"7z",\r
-"RPM"=>"rpmbuild",\r
-"DEB"=>"dpkg-buildpackage",\r
-"EXE"=>"makensis.exe"\r
-);\r
-%ALTERNATEPATH=(\r
-"7z"=>"7-ZIP",\r
-"makensis.exe"=>"NSIS"\r
-);\r
-\r
+use Cwd;
+
+$PROJECT="awstats";
+$MAJOR="1";
+$MINOR="8";
+@LISTETARGET=("WBM"); # Possible packages
+%REQUIREMENTTARGET=( # Tool requirement for each package
+"WBM"=>"tar",
+"TGZ"=>"tar",
+"ZIP"=>"7z",
+"RPM"=>"rpmbuild",
+"DEB"=>"dpkg-buildpackage",
+"EXE"=>"makensis.exe"
+);
+%ALTERNATEPATH=(
+"7z"=>"7-ZIP",
+"makensis.exe"=>"NSIS"
+);
+
$FILENAME="$PROJECT";
-$FILENAMEWBM="$PROJECT-$MAJOR.$MINOR";\r
+$FILENAMEWBM="$PROJECT-$MAJOR.$MINOR";
if (-d "/usr/src/redhat") {
# redhat
$RPMDIR="/usr/src/redhat";
use vars qw/ $REVISION $VERSION /;
$REVISION='$Revision$'; $REVISION =~ /\s(.*)\s/; $REVISION=$1;
$VERSION="1.0 (build $REVISION)";
-\r
-\r
+
+
#------------------------------------------------------------------------------
# MAIN
#------------------------------------------------------------------------------
$DIR||='.'; $DIR =~ s/([^\/\\])[\\\/]+$/$1/;
$SOURCE="$DIR/../../awstats/tools/webmin";
-$DESTI="$SOURCE/../../make";\r
-\r
+$DESTI="$SOURCE/../../make";
+
# Detect OS type
# --------------
if ("$^O" =~ /linux/i || (-d "/etc" && -d "/var" && "$^O" !~ /cygwin/i)) { $OS='linux'; $CR=''; }
print "$PROG was not able to detect your OS.\n";
print "Can't continue.\n";
print "$PROG aborted.\n";
- sleep 2;\r
+ sleep 2;
exit 1;
}
-\r
-# Define buildroot\r
-# ----------------\r
-if ($OS =~ /linux/) {\r
- $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp";\r
-}\r
-if ($OS =~ /macos/) {\r
- $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp";\r
-}\r
-if ($OS =~ /windows/) {\r
- $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"c:/temp";\r
- $PROGPATH=$ENV{"ProgramFiles"};\r
-}\r
-if (! $TEMP || ! -d $TEMP) {\r
- print "Error: A temporary directory can not be find.\n";\r
- print "Check that TEMP or TMP environment variable is set correctly.\n";\r
+
+# Define buildroot
+# ----------------
+if ($OS =~ /linux/) {
+ $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp";
+}
+if ($OS =~ /macos/) {
+ $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp";
+}
+if ($OS =~ /windows/) {
+ $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"c:/temp";
+ $PROGPATH=$ENV{"ProgramFiles"};
+}
+if (! $TEMP || ! -d $TEMP) {
+ print "Error: A temporary directory can not be find.\n";
+ print "Check that TEMP or TMP environment variable is set correctly.\n";
print "makepack-dolibarr.pl aborted.\n";
- sleep 2;\r
- exit 2;\r
-} \r
-$BUILDROOT="$TEMP/buildroot";\r
-\r
-\r
-my $copyalreadydone=0;\r
+ sleep 2;
+ exit 2;
+}
+$BUILDROOT="$TEMP/buildroot";
+
+
+my $copyalreadydone=0;
my $batch=0;
print "Makepack version $VERSION\n";
for (0..@ARGV-1) {
if ($ARGV[$_] =~ /^-*target=(\w+)/i) { $target=$1; $batch=1; }
}
-\r
-# Choose package targets\r
-#-----------------------\r
+
+# Choose package targets
+#-----------------------
if ($target) {
$CHOOSEDTARGET{uc($target)}=1;
}
else {
-my $found=0;\r
-my $NUM_SCRIPT;\r
-while (! $found) {\r
- my $cpt=0;\r
- printf(" %d - %3s (%s)\n",$cpt,"All","Need ".join(",",values %REQUIREMENTTARGET));\r
- foreach my $target (@LISTETARGET) {\r
- $cpt++;\r
- printf(" %d - %3s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target});\r
- }\r
-\r
- # On demande de choisir le fichier à passer\r
- print "Choose one package number or several separated with space: ";\r
- $NUM_SCRIPT=<STDIN>; \r
- chomp($NUM_SCRIPT);\r
- if ($NUM_SCRIPT =~ s/-//g) {\r
- # Do not do copy \r
- $copyalreadydone=1;\r
- }\r
- if ($NUM_SCRIPT !~ /^[0-$cpt\s]+$/)\r
- {\r
- print "This is not a valid package number list.\n";\r
- $found = 0;\r
- }\r
- else\r
- {\r
- $found = 1;\r
- }\r
-}\r
-print "\n";\r
-if ($NUM_SCRIPT) {\r
- foreach my $num (split(/\s+/,$NUM_SCRIPT)) {\r
- $CHOOSEDTARGET{$LISTETARGET[$num-1]}=1;\r
- }\r
-}\r
-else {\r
- foreach my $key (@LISTETARGET) {\r
- $CHOOSEDTARGET{$key}=1;\r
- }\r
-}\r
-}\r
-\r
+my $found=0;
+my $NUM_SCRIPT;
+while (! $found) {
+ my $cpt=0;
+ printf(" %d - %3s (%s)\n",$cpt,"All","Need ".join(",",values %REQUIREMENTTARGET));
+ foreach my $target (@LISTETARGET) {
+ $cpt++;
+ printf(" %d - %3s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target});
+ }
+
+ # On demande de choisir le fichier à passer
+ print "Choose one package number or several separated with space: ";
+ $NUM_SCRIPT=<STDIN>;
+ chomp($NUM_SCRIPT);
+ if ($NUM_SCRIPT =~ s/-//g) {
+ # Do not do copy
+ $copyalreadydone=1;
+ }
+ if ($NUM_SCRIPT !~ /^[0-$cpt\s]+$/)
+ {
+ print "This is not a valid package number list.\n";
+ $found = 0;
+ }
+ else
+ {
+ $found = 1;
+ }
+}
+print "\n";
+if ($NUM_SCRIPT) {
+ foreach my $num (split(/\s+/,$NUM_SCRIPT)) {
+ $CHOOSEDTARGET{$LISTETARGET[$num-1]}=1;
+ }
+}
+else {
+ foreach my $key (@LISTETARGET) {
+ $CHOOSEDTARGET{$key}=1;
+ }
+}
+}
+
# Test if requirement is ok
#--------------------------
foreach my $target (keys %CHOOSEDTARGET) {
}
}
}
-\r
-print "\n";\r
-\r
+
+print "\n";
+
# Check if there is at least on target to build
#----------------------------------------------
$nboftargetok=0;
if ($CHOOSEDTARGET{$target} < 0) { next; }
$nboftargetok++;
}
-\r
+
if ($nboftargetok) {
-\r
- # Update buildroot\r
- #-----------------\r
- if (! $copyalreadydone) {\r
- print "Delete directory $BUILDROOT\n";\r
- $ret=`rm -fr "$BUILDROOT"`;\r
- \r
- mkdir "$BUILDROOT";\r
- print "Recopie de $SOURCE dans $BUILDROOT/$PROJECT\n";\r
- mkdir "$BUILDROOT/$PROJECT";\r
- $ret=`cp -pr "$SOURCE/$PROJECT" "$BUILDROOT"`;\r
- \r
- }\r
- \r
- print "Nettoyage de $BUILDROOT\n";\r
- $ret=`rm -f $BUILDROOT/$PROJECT/webmin/*.wbm`;\r
- $ret=`rm -f $BUILDROOT/$PROJECT/webmin/*.tar`;\r
- $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db`;\r
- $ret=`rm -fr $BUILDROOT/$PROJECT/CVS* $BUILDROOT/$PROJECT/*/CVS* $BUILDROOT/$PROJECT/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/CVS*`;\r
- \r
- #rename("$BUILDROOT/$PROJECT","$BUILDROOT/$FILENAMETGZ");\r
- \r
- # Build package for each target\r
- #------------------------------\r
+
+ # Update buildroot
+ #-----------------
+ if (! $copyalreadydone) {
+ print "Delete directory $BUILDROOT\n";
+ $ret=`rm -fr "$BUILDROOT"`;
+
+ mkdir "$BUILDROOT";
+ print "Recopie de $SOURCE dans $BUILDROOT/$PROJECT\n";
+ mkdir "$BUILDROOT/$PROJECT";
+ $ret=`cp -pr "$SOURCE/$PROJECT" "$BUILDROOT"`;
+
+ }
+
+ print "Nettoyage de $BUILDROOT\n";
+ $ret=`rm -f $BUILDROOT/$PROJECT/webmin/*.wbm`;
+ $ret=`rm -f $BUILDROOT/$PROJECT/webmin/*.tar`;
+ $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db`;
+ $ret=`rm -fr $BUILDROOT/$PROJECT/CVS* $BUILDROOT/$PROJECT/*/CVS* $BUILDROOT/$PROJECT/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/CVS* $BUILDROOT/$PROJECT/*/*/*/*/*/CVS*`;
+
+ #rename("$BUILDROOT/$PROJECT","$BUILDROOT/$FILENAMETGZ");
+
+ # Build package for each target
+ #------------------------------
foreach my $target (keys %CHOOSEDTARGET) {
- if ($CHOOSEDTARGET{$target} < 0) { next; }\r
- \r
+ if ($CHOOSEDTARGET{$target} < 0) { next; }
+
print "\nBuild package for target $target\n";
- \r
- if ($target eq 'WBM') {\r
- unlink $FILENAMEWBM.wbm;\r
- print "Creation archive $FILENAMEWBM.wbm de $PROJECT\n";\r
- $ret=`tar --directory="$BUILDROOT" -cvf $FILENAMEWBM.wbm $PROJECT`;\r
- print "Déplacement de $FILENAMEWBM.wbm dans $SOURCE/$FILENAMEWBM.wbm\n";\r
- rename("$FILENAMEWBM.wbm","$SOURCE/$FILENAMEWBM.wbm");\r
- $ret=`cp -pr "$SOURCE/$FILENAMEWBM.wbm" "$DESTI/$FILENAMEWBM.wbm"`;\r
-# $ret=`cp -pr "$SOURCE/$FILENAMEWBM.wbm" "$DESTI/$FILENAMEWBM.wbm"`;\r
- next;\r
- } \r
- \r
- }\r
-\r
-}
-
-print "\n----- Summary -----\n";\r
-foreach my $target (keys %CHOOSEDTARGET) {\r
- if ($CHOOSEDTARGET{$target} < 0) {\r
- print "Package $target not built (bad requirement).\n";\r
- } else {\r
- print "Package $target built succeessfully in $DESTI\n";\r
- }\r
-}\r
-\r
+
+ if ($target eq 'WBM') {
+ unlink $FILENAMEWBM.wbm;
+ print "Creation archive $FILENAMEWBM.wbm de $PROJECT\n";
+ $ret=`tar --directory="$BUILDROOT" -cvf $FILENAMEWBM.wbm $PROJECT`;
+ print "Déplacement de $FILENAMEWBM.wbm dans $SOURCE/$FILENAMEWBM.wbm\n";
+ rename("$FILENAMEWBM.wbm","$SOURCE/$FILENAMEWBM.wbm");
+ $ret=`cp -pr "$SOURCE/$FILENAMEWBM.wbm" "$DESTI/$FILENAMEWBM.wbm"`;
+# $ret=`cp -pr "$SOURCE/$FILENAMEWBM.wbm" "$DESTI/$FILENAMEWBM.wbm"`;
+ next;
+ }
+
+ }
+
+}
+
+print "\n----- Summary -----\n";
+foreach my $target (keys %CHOOSEDTARGET) {
+ if ($CHOOSEDTARGET{$target} < 0) {
+ print "Package $target not built (bad requirement).\n";
+ } else {
+ print "Package $target built succeessfully in $DESTI\n";
+ }
+}
+
if (! $btach) {
- print "\nPress key to finish...";\r
- my $WAITKEY=<STDIN>;\r
+ print "\nPress key to finish...";
+ my $WAITKEY=<STDIN>;
}
-\r
-0;\r
+
+0;
-<?xml version="1.0" encoding="UTF-8" ?>\r
-<PADGEN_CML>\r
- <AppVerInfo>PADGen 2.0.1.22</AppVerInfo>\r
- <Company_Info>\r
- <Company_Name>Laurent Destailleur</Company_Name>\r
- <Address_1>61 Boulevard Vauban</Address_1>\r
- <Address_2 />\r
- <City_Town>Montigny-le-Bretonneux</City_Town>\r
- <State_Province>Yvelines</State_Province>\r
- <Zip_Postal_Code>78180</Zip_Postal_Code>\r
- <Country>FRANCE</Country>\r
- <Company_WebSite_URL>http://www.destailleur.fr</Company_WebSite_URL>\r
- <Contact_Info>\r
- <Author_First_Name>Laurent</Author_First_Name>\r
- <Author_Last_Name>Destailleur</Author_Last_Name>\r
- <Author_Email>eldy@users.sourceforge.net</Author_Email>\r
- <Contact_First_Name>Laurent</Contact_First_Name>\r
- <Contact_Last_Name>Destailleur</Contact_Last_Name>\r
- <Contact_Email>eldy@users.sourceforge.net</Contact_Email>\r
- </Contact_Info>\r
- <Support_Info>\r
- <Sales_Email>eldy@users.sourceforge.net</Sales_Email>\r
- <Support_Email>eldy@users.sourceforge.net</Support_Email>\r
- <General_Email>eldy@users.sourceforge.net</General_Email>\r
- <Sales_Phone />\r
- <Support_Phone />\r
- <General_Phone />\r
- <Fax_Phone />\r
- </Support_Info>\r
- </Company_Info>\r
-</PADGEN_CML>\r
+<?xml version="1.0" encoding="UTF-8" ?>
+<PADGEN_CML>
+ <AppVerInfo>PADGen 2.0.1.22</AppVerInfo>
+ <Company_Info>
+ <Company_Name>Laurent Destailleur</Company_Name>
+ <Address_1>61 Boulevard Vauban</Address_1>
+ <Address_2 />
+ <City_Town>Montigny-le-Bretonneux</City_Town>
+ <State_Province>Yvelines</State_Province>
+ <Zip_Postal_Code>78180</Zip_Postal_Code>
+ <Country>FRANCE</Country>
+ <Company_WebSite_URL>http://www.destailleur.fr</Company_WebSite_URL>
+ <Contact_Info>
+ <Author_First_Name>Laurent</Author_First_Name>
+ <Author_Last_Name>Destailleur</Author_Last_Name>
+ <Author_Email>eldy@users.sourceforge.net</Author_Email>
+ <Contact_First_Name>Laurent</Contact_First_Name>
+ <Contact_Last_Name>Destailleur</Contact_Last_Name>
+ <Contact_Email>eldy@users.sourceforge.net</Contact_Email>
+ </Contact_Info>
+ <Support_Info>
+ <Sales_Email>eldy@users.sourceforge.net</Sales_Email>
+ <Support_Email>eldy@users.sourceforge.net</Support_Email>
+ <General_Email>eldy@users.sourceforge.net</General_Email>
+ <Sales_Phone />
+ <Support_Phone />
+ <General_Phone />
+ <Fax_Phone />
+ </Support_Info>
+ </Company_Info>
+</PADGEN_CML>
-#HTMLDOC 1.8.24 Open Source\r
--t pdf14 -f ../../docs/awstats.pdf --webpage --no-title --logoimage ../../docs/images/awstats_logo5.png --linkcolor #2200c0 --linkstyle plain --size Universal --left 0.30in --right 0.30in --top 0.40in --bottom 0.30in --header ... --footer c/d --nup 1 --tocheader ... --tocfooter ... --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=50 --fontsize 10.0 --fontspacing 1.0 --headingfont Helvetica --bodyfont Helvetica --headfootsize 9.0 --headfootfont Helvetica --charset iso-8859-1 --links --no-embedfonts --pagemode document --pagelayout single --firstpage p1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict\r
-../../docs/index.html\r
-../../docs/awstats_what.html\r
-../../docs/awstats_upgrade.html\r
-../../docs/awstats_setup.html\r
-../../docs/awstats_config.html\r
-../../docs/awstats_extra.html\r
-../../docs/awstats_contrib.html\r
-../../docs/awstats_tools.html\r
-../../docs/awstats_webmin.html\r
-../../docs/awstats_glossary.html\r
-../../docs/awstats_compare.html\r
-../../docs/awstats_benchmark.html\r
-../../docs/awstats_security.html\r
-../../docs/awstats_faq.html\r
-../../docs/awstats_license.html\r
+#HTMLDOC 1.8.24 Open Source
+-t pdf14 -f ../../docs/awstats.pdf --webpage --no-title --logoimage ../../docs/images/awstats_logo5.png --linkcolor #2200c0 --linkstyle plain --size Universal --left 0.30in --right 0.30in --top 0.40in --bottom 0.30in --header ... --footer c/d --nup 1 --tocheader ... --tocfooter ... --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=50 --fontsize 10.0 --fontspacing 1.0 --headingfont Helvetica --bodyfont Helvetica --headfootsize 9.0 --headfootfont Helvetica --charset iso-8859-1 --links --no-embedfonts --pagemode document --pagelayout single --firstpage p1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 --no-strict
+../../docs/index.html
+../../docs/awstats_what.html
+../../docs/awstats_upgrade.html
+../../docs/awstats_setup.html
+../../docs/awstats_config.html
+../../docs/awstats_extra.html
+../../docs/awstats_contrib.html
+../../docs/awstats_tools.html
+../../docs/awstats_webmin.html
+../../docs/awstats_glossary.html
+../../docs/awstats_compare.html
+../../docs/awstats_benchmark.html
+../../docs/awstats_security.html
+../../docs/awstats_faq.html
+../../docs/awstats_license.html
-#!/usr/bin/perl\r
-# Usage:\r
-# 1- Copy the robot list 1 in this file\r
-# 2- Downlaod robot file and rename it all.txt\r
-# 3- Launch script\r
-\r
-$FILENAME="all.txt";\r
-\r
-# Robots to remove of AWStats database\r
-%REMOVE=(\r
-'webs'=>1,\r
-'tcl'=>1,\r
-'wget'=>2\r
-);\r
-# Robots to transcode for using in AWStats database\r
-%TRANSCODE=(\r
-'directhit'=>'direct_hit',\r
-'calif'=>'calif[^r]',\r
-'fish'=>'[^a]fish',\r
-'roadrunner'=>'road_runner',\r
-'lycos'=>'lycos_',\r
-'voyager'=>'^voyager\/'\r
-);\r
-\r
-\r
-\r
-@RobotsSearchIDOrder_list1 = (\r
-'antibot',\r
-'appie',\r
-'architext',\r
-'bjaaland',\r
-'digout4u',\r
-'echo',\r
-'fast\-webcrawler',\r
-'ferret',\r
-'googlebot',\r
-'gulliver',\r
-'harvest',\r
-'htdig',\r
-'ia_archiver',\r
-'askjeeves',\r
-'jennybot',\r
-'linkwalker',\r
-'lycos_',\r
-'mercator',\r
-'moget',\r
-'muscatferret',\r
-'myweb',\r
-'netcraft',\r
-'nomad',\r
-'petersnews',\r
-'scooter',\r
-'slurp',\r
-'unlost_web_crawler',\r
-'voila',\r
-'^voyager\/', # Add ^ and \/ to avoid to exclude voyager and amigavoyager browser\r
-'webbase',\r
-'weblayers',\r
-'wisenutbot'\r
-);\r
-\r
-@reported=(\r
-# Other robots reported by users\r
-'aport',\r
-'awbot',\r
-'baiduspider',\r
-'bobby',\r
-'boris',\r
-'bumblebee',\r
-'cscrawler',\r
-'daviesbot',\r
-'exactseek',\r
-'ezresult',\r
-'gigabot',\r
-'gnodspider',\r
-'grub',\r
-'henrythemiragorobot',\r
-'holmes',\r
-'internetseer',\r
-'justview',\r
-'linkbot',\r
-'metager\-linkchecker', # Must be before linkchecker\r
-'linkchecker',\r
-'microsoft_url_control',\r
-'msiecrawler',\r
-'nagios',\r
-'perman',\r
-'pompos',\r
-'rambler',\r
-'redalert',\r
-'shoutcast',\r
-'slysearch',\r
-'surveybot',\r
-'turnitinbot',\r
-'turtlescanner', # Must be before turtle\r
-'turtle',\r
-'ultraseek',\r
-'webclipping\.com',\r
-'webcompass',\r
-'yahoo\-verticalcrawler',\r
-'yandex',\r
-'zealbot',\r
-'zyborg'\r
-);\r
-\r
-\r
-# Read robot file and build output\r
-\r
-open(FILE,"<$FILENAME") || die "Error opening file $FILENAME";\r
-my $robotname=$robotid="";\r
-while (<FILE>) {\r
- my $line=$_;\r
- if ($line =~ /robot-id[:|](\s*)([^\s]+)(\s*)$/i) {\r
- $robotid=lc($2);\r
- $robotid =~ s/^\s+//;\r
- $robotid =~ s/\s+$//;\r
- $robotid=quotemeta($robotid);\r
- $robotid=$TRANSCODE{$robotid}?$TRANSCODE{$robotid}:$robotid;\r
- }\r
- if ($line =~ /robot-name[:|](\s*)(.*)/i) {\r
- $robotname=$2;\r
- $robotname =~ s/^\s+//;\r
- $robotname =~ s/\s+$//;\r
- if ($robotid && $robotname) {\r
- if (length($robotid)<=3) { next; }\r
- if ($REMOVE{$robotid}) { next; } \r
- $robot{$robotid}=$robotname;\r
- $robotname=$robotid='';\r
- }\r
- }\r
-}\r
-close(FILE);\r
-\r
-# Common robots\r
-print "\n# Common robots (In robot file)\n";\r
-foreach my $rob (@RobotsSearchIDOrder_list1) {\r
- if ($robot{$rob}) {\r
- print "'$rob',\n";\r
- $robotout{$rob}=1;\r
- }\r
-}\r
-# Other robots in robot list (less common)\r
-print "\n# Less common robots (In robot file)\n";\r
-foreach my $rob (sort keys %robot) {\r
- if (! $robotout{$rob}) { print "'$rob',\n"; }\r
-}\r
-\r
-print "\n";\r
-\r
-# Common robots\r
-print "\n# Common robots (In robot file)\n";\r
-foreach my $rob (@RobotsSearchIDOrder_list1) {\r
- if ($robot{$rob}) {\r
- print "'$rob','$robot{$rob}',\n";\r
- $robotout{$rob}=1;\r
- }\r
-}\r
-# Other robots in robot list (less common)\r
-print "\n# Less common robots (In robot file)\n";\r
-foreach my $rob (sort keys %robot) {\r
- if (! $robotout{$rob}) { print "'$rob','$robot{$rob}',\n"; }\r
-}\r
-\r
-\r
-\r
-# Robot reported by users in AWStats that are now in official robot list\r
-print "\n# Robot reported by users in AWStats that are now in official robot list\n";\r
-foreach my $rob (@reported) {\r
- if ($robot{$rob}) {\r
- print "'$rob'\n";\r
- }\r
-}\r
+#!/usr/bin/perl
+# Usage:
+# 1- Copy the robot list 1 in this file
+# 2- Downlaod robot file and rename it all.txt
+# 3- Launch script
+
+$FILENAME="all.txt";
+
+# Robots to remove of AWStats database
+%REMOVE=(
+'webs'=>1,
+'tcl'=>1,
+'wget'=>2
+);
+# Robots to transcode for using in AWStats database
+%TRANSCODE=(
+'directhit'=>'direct_hit',
+'calif'=>'calif[^r]',
+'fish'=>'[^a]fish',
+'roadrunner'=>'road_runner',
+'lycos'=>'lycos_',
+'voyager'=>'^voyager\/'
+);
+
+
+
+@RobotsSearchIDOrder_list1 = (
+'antibot',
+'appie',
+'architext',
+'bjaaland',
+'digout4u',
+'echo',
+'fast\-webcrawler',
+'ferret',
+'googlebot',
+'gulliver',
+'harvest',
+'htdig',
+'ia_archiver',
+'askjeeves',
+'jennybot',
+'linkwalker',
+'lycos_',
+'mercator',
+'moget',
+'muscatferret',
+'myweb',
+'netcraft',
+'nomad',
+'petersnews',
+'scooter',
+'slurp',
+'unlost_web_crawler',
+'voila',
+'^voyager\/', # Add ^ and \/ to avoid to exclude voyager and amigavoyager browser
+'webbase',
+'weblayers',
+'wisenutbot'
+);
+
+@reported=(
+# Other robots reported by users
+'aport',
+'awbot',
+'baiduspider',
+'bobby',
+'boris',
+'bumblebee',
+'cscrawler',
+'daviesbot',
+'exactseek',
+'ezresult',
+'gigabot',
+'gnodspider',
+'grub',
+'henrythemiragorobot',
+'holmes',
+'internetseer',
+'justview',
+'linkbot',
+'metager\-linkchecker', # Must be before linkchecker
+'linkchecker',
+'microsoft_url_control',
+'msiecrawler',
+'nagios',
+'perman',
+'pompos',
+'rambler',
+'redalert',
+'shoutcast',
+'slysearch',
+'surveybot',
+'turnitinbot',
+'turtlescanner', # Must be before turtle
+'turtle',
+'ultraseek',
+'webclipping\.com',
+'webcompass',
+'yahoo\-verticalcrawler',
+'yandex',
+'zealbot',
+'zyborg'
+);
+
+
+# Read robot file and build output
+
+open(FILE,"<$FILENAME") || die "Error opening file $FILENAME";
+my $robotname=$robotid="";
+while (<FILE>) {
+ my $line=$_;
+ if ($line =~ /robot-id[:|](\s*)([^\s]+)(\s*)$/i) {
+ $robotid=lc($2);
+ $robotid =~ s/^\s+//;
+ $robotid =~ s/\s+$//;
+ $robotid=quotemeta($robotid);
+ $robotid=$TRANSCODE{$robotid}?$TRANSCODE{$robotid}:$robotid;
+ }
+ if ($line =~ /robot-name[:|](\s*)(.*)/i) {
+ $robotname=$2;
+ $robotname =~ s/^\s+//;
+ $robotname =~ s/\s+$//;
+ if ($robotid && $robotname) {
+ if (length($robotid)<=3) { next; }
+ if ($REMOVE{$robotid}) { next; }
+ $robot{$robotid}=$robotname;
+ $robotname=$robotid='';
+ }
+ }
+}
+close(FILE);
+
+# Common robots
+print "\n# Common robots (In robot file)\n";
+foreach my $rob (@RobotsSearchIDOrder_list1) {
+ if ($robot{$rob}) {
+ print "'$rob',\n";
+ $robotout{$rob}=1;
+ }
+}
+# Other robots in robot list (less common)
+print "\n# Less common robots (In robot file)\n";
+foreach my $rob (sort keys %robot) {
+ if (! $robotout{$rob}) { print "'$rob',\n"; }
+}
+
+print "\n";
+
+# Common robots
+print "\n# Common robots (In robot file)\n";
+foreach my $rob (@RobotsSearchIDOrder_list1) {
+ if ($robot{$rob}) {
+ print "'$rob','$robot{$rob}',\n";
+ $robotout{$rob}=1;
+ }
+}
+# Other robots in robot list (less common)
+print "\n# Less common robots (In robot file)\n";
+foreach my $rob (sort keys %robot) {
+ if (! $robotout{$rob}) { print "'$rob','$robot{$rob}',\n"; }
+}
+
+
+
+# Robot reported by users in AWStats that are now in official robot list
+print "\n# Robot reported by users in AWStats that are now in official robot list\n";
+foreach my $rob (@reported) {
+ if ($robot{$rob}) {
+ print "'$rob'\n";
+ }
+}
my $widthtooltip=560;
print <<EOF;
-<style type="text/css">\r
-<!--\r
-div { font: 12px 'Arial','Verdana','Helvetica', sans-serif; text-align: justify; }\r
-.CTooltip { position:absolute; top: 0px; left: 0px; z-index: 2; width: ${widthtooltip}px; visibility:hidden; font: 8pt 'MS Comic Sans','Arial',sans-serif; background-color: #FFFFE6; padding: 8px; border: 1px solid black; }\r
-//-->\r
+<style type="text/css">
+<!--
+div { font: 12px 'Arial','Verdana','Helvetica', sans-serif; text-align: justify; }
+.CTooltip { position:absolute; top: 0px; left: 0px; z-index: 2; width: ${widthtooltip}px; visibility:hidden; font: 8pt 'MS Comic Sans','Arial',sans-serif; background-color: #FFFFE6; padding: 8px; border: 1px solid black; }
+//-->
</style>
-<script language="javascript" type="text/javascript">\r
-function ShowTip(fArg)\r
-{\r
- var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");\r
- if (tooltipOBJ != null) {\r
- var tooltipLft = (document.body.offsetWidth?document.body.offsetWidth:document.body.style.pixelWidth) - (tooltipOBJ.offsetWidth?tooltipOBJ.offsetWidth:(tooltipOBJ.style.pixelWidth?tooltipOBJ.style.pixelWidth:$widthtooltip)) - 30;\r
- var tooltipTop = 10;\r
- if (navigator.appName == 'Netscape') {\r
- tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);\r
- tooltipOBJ.style.top = tooltipTop+"px";\r
- tooltipOBJ.style.left = tooltipLft+"px";\r
- }\r
- else {\r
- tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);\r
- tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);\r
- if ((event.clientX > tooltipLft) && (event.clientY < (tooltipOBJ.scrollHeight?tooltipOBJ.scrollHeight:tooltipOBJ.style.pixelHeight) + 10)) {\r
- tooltipTop = (document.body.scrollTop?document.body.scrollTop:document.body.offsetTop) + event.clientY + 20;\r
- }\r
- tooltipOBJ.style.left = tooltipLft;\r
- tooltipOBJ.style.top = tooltipTop;\r
- }\r
- tooltipOBJ.style.visibility = "visible";\r
- }\r
-}\r
-function HideTip(fArg)\r
-{\r
- var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");\r
- if (tooltipOBJ != null) {\r
- tooltipOBJ.style.visibility = "hidden";\r
- }\r
-}\r
+<script language="javascript" type="text/javascript">
+function ShowTip(fArg)
+{
+ var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");
+ if (tooltipOBJ != null) {
+ var tooltipLft = (document.body.offsetWidth?document.body.offsetWidth:document.body.style.pixelWidth) - (tooltipOBJ.offsetWidth?tooltipOBJ.offsetWidth:(tooltipOBJ.style.pixelWidth?tooltipOBJ.style.pixelWidth:$widthtooltip)) - 30;
+ var tooltipTop = 10;
+ if (navigator.appName == 'Netscape') {
+ tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);
+ tooltipOBJ.style.top = tooltipTop+"px";
+ tooltipOBJ.style.left = tooltipLft+"px";
+ }
+ else {
+ tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);
+ tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);
+ if ((event.clientX > tooltipLft) && (event.clientY < (tooltipOBJ.scrollHeight?tooltipOBJ.scrollHeight:tooltipOBJ.style.pixelHeight) + 10)) {
+ tooltipTop = (document.body.scrollTop?document.body.scrollTop:document.body.offsetTop) + event.clientY + 20;
+ }
+ tooltipOBJ.style.left = tooltipLft;
+ tooltipOBJ.style.top = tooltipTop;
+ }
+ tooltipOBJ.style.visibility = "visible";
+ }
+}
+function HideTip(fArg)
+{
+ var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");
+ if (tooltipOBJ != null) {
+ tooltipOBJ.style.visibility = "hidden";
+ }
+}
</script>
EOF
my ($sec,$min,$hour,$day,$month,$year,$wday,$yday) = localtime($st[9]);
$year+=1900; $month++;
- print '<div class="CTooltip" id="tt'.$nbofallowedconffound.'">';\r
- printf("Configuration file: <b>%s</b><br>\n",$l);\r
+ print '<div class="CTooltip" id="tt'.$nbofallowedconffound.'">';
+ printf("Configuration file: <b>%s</b><br>\n",$l);
printf("Created/Changed: <b>%04s-%02s-%02s %02s:%02s:%02s</b><br>\n",$year,$month,$day,$hour,$min,$sec);
print '</div>';
print "<br>\n";
# Load other modules lib
-&foreign_require("cron", "cron-lib.pl");\r
-&foreign_require("logrotate", "logrotate-lib.pl");\r
+&foreign_require("cron", "cron-lib.pl");
+&foreign_require("logrotate", "logrotate-lib.pl");
# For global update
print "<u>List of update processes scheduled by a <b>cron</b> task :</u><br><br>";
-# Russian message file\r
-# $Revision$ - $Date$\r
-PageCode=utf-8\r
-message0=Неизвестный\r
-message1=Неизвестный\r
-message2=Остальные\r
-message3=Показать подробности\r
-message4=День\r
-message5=Месяц\r
-message6=Год\r
-message7=Статистика за\r
-message8=Первый визит\r
-message9=Последний визит\r
-message10=Количество визитов\r
-message11=Уникальные посетители\r
-message12=Визит\r
-message13=различные ключевые слова\r
-message14=Поиск\r
-message15=Процент\r
-message16=Трафик\r
-message17=Домены/Страны\r
-message18=Посетители\r
-message19=Адрес страницы\r
-message20=Часы\r
-message21=Браузеры\r
-message22=\r
-message23=Рефереры\r
-message24=Необновленный (Смотрите 'Создать/Обновить' на странице awstats_setup.html)\r
-message25=Посетители домены/страны\r
-message26=хосты\r
-message27=страницы\r
-message28=Различные url\r
-message29=Просмотров\r
-message30=Остальные слова\r
-message31=Страницы не найдены\r
-message32=Статусы ошибок HTTP\r
-message33=Версии Netscape\r
-message34=Версии IE\r
-message35=Последнее обновление\r
-message36=Соединение с сайтом из\r
-message37=Происхождение\r
-message38=Прямой адрес / Закладки\r
-message39=Неизвестное происхождение\r
-message40=Ссылки из поисковых систем\r
-message41=Ссылки из внешней страницы (остальные web сайты исключая поисковые системы)\r
-message42=Ссылки из внутренней страницы (остальные страницы на том же сайте)\r
-message43=Ключевые фразы использующиеся поисковыми машинами\r
-message44=Ключевые слова использующиеся поисковыми машинами\r
-message45=Неразрешенный IP адрес\r
-message46=Неизвестные Операционные системы (поле useragent)\r
-message47=Требуемые но не найденные URL (HTTP code 404)\r
-message48=IP адрес\r
-message49=Ошибка Хиты\r
-message50=Неизвестные браузеры (поле useragent)\r
-message51=различные роботы\r
-message52=Визитов/Посетитель\r
-message53=Роботы/Пауки посетители\r
-message54=Бесплтаный анализатор лог-файлов для расширенной Web статистики.\r
-message55=от\r
-message56=Страницы\r
-message57=Хиты\r
-message58=Версии\r
-message59=Операционные системы\r
-message60=Январь\r
-message61=Февраль\r
-message62=Март\r
-message63=Апрель\r
-message64=Май\r
-message65=Июнь\r
-message66=Июль\r
-message67=Август\r
-message68=Сентябрь\r
-message69=Октябрь\r
-message70=Ноябрь\r
-message71=Декабрь\r
-message72=Навигация\r
-message73=Тип файла\r
-message74=Обновить сейчас\r
-message75=Объем\r
-message76=Вернуться на главную страницу\r
-message77=Топ\r
-message78=dd mmm yyyy - HH:MM\r
-message79=Фильтр\r
-message80=Полный список\r
-message81=Хосты\r
-message82=Известные\r
-message83=Роботы\r
-message84=Воскресенье\r
-message85=Понедельник\r
-message86=Вторник\r
-message87=Среда\r
-message88=Четверг\r
-message89=Пятница\r
-message90=Суббота\r
-message91=День недели\r
-message92=Кто\r
-message93=Когда\r
-message94=Авторизованные пользователи\r
-message95=Минимальное\r
-message96=Среднее\r
-message97=Максимальное\r
-message98=Web компрессия\r
-message99=Сохраненная величина\r
-message100=Компрессия включена\r
-message101=Результат компрессии\r
-message102=Total\r
-message103=Различные ключевые фразы\r
-message104=Вхождение\r
-message105=Код\r
-message106=Средний размер\r
-message107=Ссылки из новостных групп\r
-message108=КБ\r
-message109=МБ\r
-message110=ГБ\r
-message111=Грабер\r
-message112=Да\r
-message113=Нет\r
-message114=Инфо.\r
-message115=OK\r
-message116=Выход\r
-message117=Продолжительность визитов\r
-message118=Закрыть окно\r
-message119=Байты\r
-message120=Поисковые Ключевые фразы\r
-message121=Поисковые Ключевые слова\r
-message122=различные ссылающиеся поисковые машины\r
-message123=различные ссылающиеся сайты\r
-message124=Остальные фразы\r
-message125=Отстальные логины (и/или анонимные пользователи)\r
-message126=Ссылающиеся поисковые машины\r
-message127=Ссылающиеся сайты\r
-message128=Общее\r
-message129=Точное значение не доступно в виде 'Year'\r
-message130=Массивы данных\r
-message131=Отправитель EMail\r
-message132=Получатель EMail\r
-message133=Отчетный период\r
-message134=Дополнительно/Маркетинг\r
-message135=Разрешение экрана\r
-message136=Атаки вредоностных программ\r
-message137=Добавить в закладки (предполагаемый)\r
-message138=День месяца\r
-message139=Смешанные\r
-message140=Браузеры с поддержкой Java support\r
-message141=Браузеры с поддержкой Macromedia Director\r
-message142=Браузеры с поддержкой Flash Support\r
-message143=Браузеры с поддержкой Real audio playing\r
-message144=Браузеры с поддержкой Quicktime audio playing\r
-message145=Браузеры с поддержкой Windows Media audio playing\r
-message146=Браузеры с поддержкой PDF\r
-message147=Коды ошибок SMTP\r
-message148=Страны\r
-message149=Почта\r
-message150=Размер\r
-message151=Первый\r
-message152=Последний\r
-message153=Фильтр исключений\r
-message154=Коды отображенные здесь генерируют трафик не отображаемый посетителям, поэтому они не включены в остальную статистику.\r
-message155=Кластер\r
-message156=Роботы отображенные здесь генерируют трафик не отображаемый посетителям, поэтому они не включены в остальную статистику.\r
-message157=Числа после + хиты успешно защитанные для файла "robots.txt"\r
-message158=Вирусы отображенные здесь генерируют трафик не отображаемый посетителям, поэтому они не включены в остальную статистику.\r
-message159=Не отображаемый трафик влючает в себя трафик сгенерированный роботами, вирусами или ответом сервера со специальным HTTP кодом.\r
-message160=Отображаемый трафик\r
-message161=Не отображаемый трафик\r
-message162=История за месяц\r
-message163=Вирусы\r
-message164=Различные вирусы\r
-message165=Почта успешно отправлена\r
-message166=Отправка почты неудалась\r
-message167=Чувствительность целей\r
-message168=Javascript отключен\r
-message169=Создано\r
-message170=плагины\r
-message171=Регионы\r
-message172=Города\r
+# Russian message file
+# $Revision$ - $Date$
+PageCode=utf-8
+message0=Неизвестный
+message1=Неизвестный
+message2=Остальные
+message3=Показать подробности
+message4=День
+message5=Месяц
+message6=Год
+message7=Статистика за
+message8=Первый визит
+message9=Последний визит
+message10=Количество визитов
+message11=Уникальные посетители
+message12=Визит
+message13=различные ключевые слова
+message14=Поиск
+message15=Процент
+message16=Трафик
+message17=Домены/Страны
+message18=Посетители
+message19=Адрес страницы
+message20=Часы
+message21=Браузеры
+message22=
+message23=Рефереры
+message24=Необновленный (Смотрите 'Создать/Обновить' на странице awstats_setup.html)
+message25=Посетители домены/страны
+message26=хосты
+message27=страницы
+message28=Различные url
+message29=Просмотров
+message30=Остальные слова
+message31=Страницы не найдены
+message32=Статусы ошибок HTTP
+message33=Версии Netscape
+message34=Версии IE
+message35=Последнее обновление
+message36=Соединение с сайтом из
+message37=Происхождение
+message38=Прямой адрес / Закладки
+message39=Неизвестное происхождение
+message40=Ссылки из поисковых систем
+message41=Ссылки из внешней страницы (остальные web сайты исключая поисковые системы)
+message42=Ссылки из внутренней страницы (остальные страницы на том же сайте)
+message43=Ключевые фразы использующиеся поисковыми машинами
+message44=Ключевые слова использующиеся поисковыми машинами
+message45=Неразрешенный IP адрес
+message46=Неизвестные Операционные системы (поле useragent)
+message47=Требуемые но не найденные URL (HTTP code 404)
+message48=IP адрес
+message49=Ошибка Хиты
+message50=Неизвестные браузеры (поле useragent)
+message51=различные роботы
+message52=Визитов/Посетитель
+message53=Роботы/Пауки посетители
+message54=Бесплтаный анализатор лог-файлов для расширенной Web статистики.
+message55=от
+message56=Страницы
+message57=Хиты
+message58=Версии
+message59=Операционные системы
+message60=Январь
+message61=Февраль
+message62=Март
+message63=Апрель
+message64=Май
+message65=Июнь
+message66=Июль
+message67=Август
+message68=Сентябрь
+message69=Октябрь
+message70=Ноябрь
+message71=Декабрь
+message72=Навигация
+message73=Тип файла
+message74=Обновить сейчас
+message75=Объем
+message76=Вернуться на главную страницу
+message77=Топ
+message78=dd mmm yyyy - HH:MM
+message79=Фильтр
+message80=Полный список
+message81=Хосты
+message82=Известные
+message83=Роботы
+message84=Воскресенье
+message85=Понедельник
+message86=Вторник
+message87=Среда
+message88=Четверг
+message89=Пятница
+message90=Суббота
+message91=День недели
+message92=Кто
+message93=Когда
+message94=Авторизованные пользователи
+message95=Минимальное
+message96=Среднее
+message97=Максимальное
+message98=Web компрессия
+message99=Сохраненная величина
+message100=Компрессия включена
+message101=Результат компрессии
+message102=Total
+message103=Различные ключевые фразы
+message104=Вхождение
+message105=Код
+message106=Средний размер
+message107=Ссылки из новостных групп
+message108=КБ
+message109=МБ
+message110=ГБ
+message111=Грабер
+message112=Да
+message113=Нет
+message114=Инфо.
+message115=OK
+message116=Выход
+message117=Продолжительность визитов
+message118=Закрыть окно
+message119=Байты
+message120=Поисковые Ключевые фразы
+message121=Поисковые Ключевые слова
+message122=различные ссылающиеся поисковые машины
+message123=различные ссылающиеся сайты
+message124=Остальные фразы
+message125=Отстальные логины (и/или анонимные пользователи)
+message126=Ссылающиеся поисковые машины
+message127=Ссылающиеся сайты
+message128=Общее
+message129=Точное значение не доступно в виде 'Year'
+message130=Массивы данных
+message131=Отправитель EMail
+message132=Получатель EMail
+message133=Отчетный период
+message134=Дополнительно/Маркетинг
+message135=Разрешение экрана
+message136=Атаки вредоностных программ
+message137=Добавить в закладки (предполагаемый)
+message138=День месяца
+message139=Смешанные
+message140=Браузеры с поддержкой Java support
+message141=Браузеры с поддержкой Macromedia Director
+message142=Браузеры с поддержкой Flash Support
+message143=Браузеры с поддержкой Real audio playing
+message144=Браузеры с поддержкой Quicktime audio playing
+message145=Браузеры с поддержкой Windows Media audio playing
+message146=Браузеры с поддержкой PDF
+message147=Коды ошибок SMTP
+message148=Страны
+message149=Почта
+message150=Размер
+message151=Первый
+message152=Последний
+message153=Фильтр исключений
+message154=Коды отображенные здесь генерируют трафик не отображаемый посетителям, поэтому они не включены в остальную статистику.
+message155=Кластер
+message156=Роботы отображенные здесь генерируют трафик не отображаемый посетителям, поэтому они не включены в остальную статистику.
+message157=Числа после + хиты успешно защитанные для файла "robots.txt"
+message158=Вирусы отображенные здесь генерируют трафик не отображаемый посетителям, поэтому они не включены в остальную статистику.
+message159=Не отображаемый трафик влючает в себя трафик сгенерированный роботами, вирусами или ответом сервера со специальным HTTP кодом.
+message160=Отображаемый трафик
+message161=Не отображаемый трафик
+message162=История за месяц
+message163=Вирусы
+message164=Различные вирусы
+message165=Почта успешно отправлена
+message166=Отправка почты неудалась
+message167=Чувствительность целей
+message168=Javascript отключен
+message169=Создано
+message170=плагины
+message171=Регионы
+message172=Города
-<!-- Russian tooltips message file -->\r
-<!-- $Revision$ - $Date$ -->\r
-<div class="CTooltip" id="tt1">\r
-Новым посетителем считается <b>пришедший посетитель</b>, которого не было на сайте более <b>#VisitTimeOut# минут</b>.\r
-</div>\r
-<div class="CTooltip" id="tt2">\r
-Количество хостов (<b>IP адресов</b>), которые посетили сайт (кто просмотрел как минимум одну <b>страницу</b>).<br />\r
-Данная цифра отражает количество <b>различных посетителей</b>, зашедших на сайт в течении одного дня.\r
-</div>\r
-<div class="CTooltip" id="tt3">\r
-Количество <b>просмотренных страниц</b> сайта (сумма всех посетителей).<br />\r
-Эти данные отличаются от "хитов", так как здесь учтены только HTML-страницы без учета графики и прочих файлов.\r
-</div>\r
-<div class="CTooltip" id="tt4">\r
-Количество <b>страниц, изображений и файлов</b> сайта, которые были <b>просмотрены</b> или <b>скачаны</b> посетителями.<br />\r
-Эти данные приведены только для сравнения, т.к. количество просмотренных "страниц" кораздо важнее для исследования трафика сайта.\r
-</div>\r
-<div class="CTooltip" id="tt5">\r
-Здесь отражен объем всех <b>страниц</b>, <b>изображений</b> и <b>файлов</b>, скачанных с сайта.\r
-</div>\r
-<div class="CTooltip" id="tt13">\r
-#PROG# распознает каждое посещение посетителя после <b>поиска</b> в <b>#SearchEnginesArray# наиболее популярных поисковых серверах и каталогах</b> (таких, как Yahoo, Altavista, Lycos, Google, Yandex, и пр...).\r
-</div>\r
-<div class="CTooltip" id="tt14">\r
-Список всех <b>внешних страниц</b>, на которых была размещена ссылка на данный сайт (показано только <b>#MaxNbOfRefererShown#</b> наиболее популярных внешних страниц). Ссылки с поисковых серверов здесь не отображены.\r
-</div>\r
-<div class="CTooltip" id="tt15">\r
-Здесь указаны наиболее распространенные <b>ключевые слова</b>, использованные для поиска в поисковых машинах и каталогах.\r
-(#PROG# распознает ключевые слова с <b>#SearchEnginesArray#</b> поисковых серверов и каталогов).\r
-</div>\r
-<div class="CTooltip" id="tt16">\r
-Роботы (иногда называемые пауками) - это <b>автоматические компьютерные посетители</b>, используемые многими поисковыми системами для того, чтобы (1) индексировать и ранжировать страницу, (2) собирать статистику по сайтам и/или (3) смотреть, доступна ли до сих пор ваша страница on-line.<br />\r
-#PROG# распознает до <b>#RobotArray#</b> роботов.\r
-</div>\r
-\r
-<div class="CTooltip" id="tt201"> Для данной ошибки нет описания. </div>\r
-<div class="CTooltip" id="tt202"> Данный запрос был понят сервером, но будет обработан позднее. </div>\r
-<div class="CTooltip" id="tt204"> Сервер обработал запрос, но не обнаружил данных для отправки посетителю. </div>\r
-<div class="CTooltip" id="tt206"> Частичное содержание. </div>\r
-<div class="CTooltip" id="tt301"> Документ был перемещен и находится по адресу, находящемуся в ответе. </div>\r
-<div class="CTooltip" id="tt302"> Для данной ошибки нет описания. </div>\r
-<div class="CTooltip" id="tt400"> Синтаксическая ошибка, сервер не может обработать запрос. </div>\r
-<div class="CTooltip" id="tt401"> Попытка доступа к <b>URL где\r
-логин/пароль обязательны</b>.<br />Большое количество данных ошибок говорит о том, что некто (например, хакер) пытался проникнуть в закрытую область сайта с помощью перебора различных вариантов логина и пароля. </div>\r
-<div class="CTooltip" id="tt403"> Попытка доступа к <b>URL который не был настроен для доступа (даже с указанием логина и пароля)</b> (к примеру, дирректория, которая не была помечена как "browsable"). </div>\r
-<div class="CTooltip" id="tt404"> Попытка доступа к <b>несуществующему URL</b>. Данная ошибка говорит о неправильном указании ссылки на данном сайте или устаревшей ссылке с внешнего сайта. </div>\r
-<div class="CTooltip" id="tt408"> Сервер затратил <b>слишком много времени</b> на подготовку ответа на запрос. Эта ошибка возникает в случает либо медленного CGI скрипта, который сервер завершает, не дождавшись ответа, либо при сильно загруженном сервере. </div>\r
-<div class="CTooltip" id="tt500"> Внутренняя ошибка. Такая ошибка появляется после CGI скриптов, которые завершаются с ошибкой. </div>\r
-<div class="CTooltip" id="tt501"> Неизвестное требуемое действие. </div>\r
-<div class="CTooltip" id="tt502"> Код, возвращенный HTTP сервером, который работает в качестве proxy или шлюза, когда настояший сервер неправильно ответил на запрос клиента</div>\r
-<div class="CTooltip" id="tt503"> Внутренняя ошибка сервера. </div>\r
-<div class="CTooltip" id="tt504"> Тайм-аут шлюза. </div>\r
-<div class="CTooltip" id="tt505"> Данная версия HTTP не поддерживается. </div>\r
+<!-- Russian tooltips message file -->
+<!-- $Revision$ - $Date$ -->
+<div class="CTooltip" id="tt1">
+Новым посетителем считается <b>пришедший посетитель</b>, которого не было на сайте более <b>#VisitTimeOut# минут</b>.
+</div>
+<div class="CTooltip" id="tt2">
+Количество хостов (<b>IP адресов</b>), которые посетили сайт (кто просмотрел как минимум одну <b>страницу</b>).<br />
+Данная цифра отражает количество <b>различных посетителей</b>, зашедших на сайт в течении одного дня.
+</div>
+<div class="CTooltip" id="tt3">
+Количество <b>просмотренных страниц</b> сайта (сумма всех посетителей).<br />
+Эти данные отличаются от "хитов", так как здесь учтены только HTML-страницы без учета графики и прочих файлов.
+</div>
+<div class="CTooltip" id="tt4">
+Количество <b>страниц, изображений и файлов</b> сайта, которые были <b>просмотрены</b> или <b>скачаны</b> посетителями.<br />
+Эти данные приведены только для сравнения, т.к. количество просмотренных "страниц" кораздо важнее для исследования трафика сайта.
+</div>
+<div class="CTooltip" id="tt5">
+Здесь отражен объем всех <b>страниц</b>, <b>изображений</b> и <b>файлов</b>, скачанных с сайта.
+</div>
+<div class="CTooltip" id="tt13">
+#PROG# распознает каждое посещение посетителя после <b>поиска</b> в <b>#SearchEnginesArray# наиболее популярных поисковых серверах и каталогах</b> (таких, как Yahoo, Altavista, Lycos, Google, Yandex, и пр...).
+</div>
+<div class="CTooltip" id="tt14">
+Список всех <b>внешних страниц</b>, на которых была размещена ссылка на данный сайт (показано только <b>#MaxNbOfRefererShown#</b> наиболее популярных внешних страниц). Ссылки с поисковых серверов здесь не отображены.
+</div>
+<div class="CTooltip" id="tt15">
+Здесь указаны наиболее распространенные <b>ключевые слова</b>, использованные для поиска в поисковых машинах и каталогах.
+(#PROG# распознает ключевые слова с <b>#SearchEnginesArray#</b> поисковых серверов и каталогов).
+</div>
+<div class="CTooltip" id="tt16">
+Роботы (иногда называемые пауками) - это <b>автоматические компьютерные посетители</b>, используемые многими поисковыми системами для того, чтобы (1) индексировать и ранжировать страницу, (2) собирать статистику по сайтам и/или (3) смотреть, доступна ли до сих пор ваша страница on-line.<br />
+#PROG# распознает до <b>#RobotArray#</b> роботов.
+</div>
+
+<div class="CTooltip" id="tt201"> Для данной ошибки нет описания. </div>
+<div class="CTooltip" id="tt202"> Данный запрос был понят сервером, но будет обработан позднее. </div>
+<div class="CTooltip" id="tt204"> Сервер обработал запрос, но не обнаружил данных для отправки посетителю. </div>
+<div class="CTooltip" id="tt206"> Частичное содержание. </div>
+<div class="CTooltip" id="tt301"> Документ был перемещен и находится по адресу, находящемуся в ответе. </div>
+<div class="CTooltip" id="tt302"> Для данной ошибки нет описания. </div>
+<div class="CTooltip" id="tt400"> Синтаксическая ошибка, сервер не может обработать запрос. </div>
+<div class="CTooltip" id="tt401"> Попытка доступа к <b>URL где
+логин/пароль обязательны</b>.<br />Большое количество данных ошибок говорит о том, что некто (например, хакер) пытался проникнуть в закрытую область сайта с помощью перебора различных вариантов логина и пароля. </div>
+<div class="CTooltip" id="tt403"> Попытка доступа к <b>URL который не был настроен для доступа (даже с указанием логина и пароля)</b> (к примеру, дирректория, которая не была помечена как "browsable"). </div>
+<div class="CTooltip" id="tt404"> Попытка доступа к <b>несуществующему URL</b>. Данная ошибка говорит о неправильном указании ссылки на данном сайте или устаревшей ссылке с внешнего сайта. </div>
+<div class="CTooltip" id="tt408"> Сервер затратил <b>слишком много времени</b> на подготовку ответа на запрос. Эта ошибка возникает в случает либо медленного CGI скрипта, который сервер завершает, не дождавшись ответа, либо при сильно загруженном сервере. </div>
+<div class="CTooltip" id="tt500"> Внутренняя ошибка. Такая ошибка появляется после CGI скриптов, которые завершаются с ошибкой. </div>
+<div class="CTooltip" id="tt501"> Неизвестное требуемое действие. </div>
+<div class="CTooltip" id="tt502"> Код, возвращенный HTTP сервером, который работает в качестве proxy или шлюза, когда настояший сервер неправильно ответил на запрос клиента</div>
+<div class="CTooltip" id="tt503"> Внутренняя ошибка сервера. </div>
+<div class="CTooltip" id="tt504"> Тайм-аут шлюза. </div>
+<div class="CTooltip" id="tt505"> Данная версия HTTP не поддерживается. </div>