суббота, 4 октября 2014 г.

Проверяем HTTP заголовок «Last-Modified» и ответ на запрос «if-modified-since»

Яндекс рекомендует следить за корректностью http-заголовков. Цитата из документа «Рекомендации Яндекса по созданию сайтов»:
«В частности важно содержание ответа, который отдаёт сервер на запрос «if-modified-since». Заголовок Last-Modified должен отдавать корректную дату последнего изменения документа.»

Проверим как с Last-Modified обстоит дело в различных CMS.

Проверять можно с помощью If Modified Since Tool, HTTP compression and HTTP conditional GET test tool, Проверка If-Modified-Since, либо вручную.

Joomla+VirtueMart

Joomla поддерживает Last-Modified, но всегда прописывает текущую дату:
что-то я не понял, откуда тут взялось «304 Not Modified»? Вообще это какой-то непонятный тест, согласно всем остальным тестам и экспериментам, на запрос «if-modified-since» Joomla возвращает StatusCode=200 (OK) ну а в Last-Modified ставит текущую дату.
интересно, почему VirtueMart не использует для обработки запроса «if-modified-since» дату модификации товара mdate, которую можно посмотреть через следующий SQL запрос:
SELECT `product_name`, FROM_UNIXTIME(mdate) mdate
      FROM `jos_vm_product`
      ORDER BY mdate DESC;
И почему Joomla не использует дату модификации статей?
SELECT `title`, `modified` FROM `jos_content`
      ORDER BY `modified` DESC;

WordPress

WordPress Last-Modified просто напросто не поддерживает:
http last modified wordpress
однако это не мешает Яндексу его успешно индексировать.

Проверка If-Modified-Since вручную

Есть простой способ проверки if-modified-since с помощью telnet. Запускаем telnet:
# telnet www.example.com 80
и вводим следующее:
GET /index.html HTTP/1.0
User-Agent: Mozilla/5.0
From: something.somewhere.net
Accept: text/html,text/plain,application/*
Host: www.example.com
If-Modified-Since: Wed, 19 Oct 2005 10:50:00 GMT
если сервер вернет 304 (Not modified), значит он If-Modified-Since поддерживает, но страница не была изменена. Код 200 (Ok) означает, что страница изменена.
Также можно проверить через PHP, см How to test for “If-Modified-Since” HTTP Header support.

Проверка If-Modified-Since на С#

Проверить как работает If-Modified-Since можно с помощью следующего C# кода:
private HttpWebResponse GetPage()
{
    string url = @"http://.....";
    // Place the web request to the server by specifying the URL
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    // No need for a persistant connection
    request.KeepAlive = false;
    // The link that referred us to the URL
    request.Referer = url;
    // The user agent of the browser
    request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)";
    //Instead of HTTP 1.1 I will use HTTP 1.0. When a request tells the server it uses 1.0,
    //the server won't respond with chunked data but will send the response all at once.
    request.ProtocolVersion = new Version(1, 1);
    request.IfModifiedSince = DateTime.Now.AddDays(-5);
    // Get the response from the server
    return (HttpWebResponse)request.GetResponse();
}
private void TestLastModified(VirtueMartContext db, jos_vm_product product)
{
    using (HttpWebResponse response = GetPage())
    {
        Debug.Print("Status Code : {0}, Description : {1}\n", response.StatusCode, response.StatusDescription);
        string text = WebResponceReader.GetResponceText(response);
        Debug.Print(text.Substring(0, 100));
    }
}
с помощью этого метода можно убедиться в том, что Joomla всегда возвращает StatusCode=200 (OK), независимо от значения request.IfModifiedSince.

Проверка If-Modified-Since через сервис Яндекса

Если в Яндекс Веб-мастере нажать на кнопку «Проверка ответа сервера«, то мы попадаем сюда:
тут опять же видно, что сайт slogpost.ru и соответственно WordPress без плагина WP Super Cache не добавляет заголовок Last-Modified.

Ну с CMS разобрались, а как работает сам Яндекс?

Здесь можно привести такой пример: сегодня 7.7.2011, контент в Joomla был обновлен 20.6.2011, а у Яндекс в кэше версия от 11.06.2011, хотя после этой даты робот приходил уже неоднократно. В данном случае обновления Яндекс загружает с очень существенной задержкой. Вопрос — почему?
Вот, что по этому поводу говорит Платон Щукин:
По мере обхода сайта робот также переобойдет указанную страницу, после чего с обновлением поисковых баз она обновится в выдаче. Мы работаем над тем, чтобы это происходило как можно быстрее.
Со своей стороны Вы также можете помочь роботу быстрее индексировать сайт, воспользовавшись следующими рекомендациями со страницы нашей Помощи.

четверг, 25 сентября 2014 г.

Мировая статистика интернета

Добрый день, захотелось мне сегодня опубликовать пост про Всемирную статистику Интернета, полазил я по нескольким сайтам, по собирал информацию и всё самое интересное вы можете прочитать ниже.

Статистика Интернет пользователей

Первым делом хочу показать такую табличку о количестве пользователей в Интернете:
Статистика Мирового Интернета
Регион
Численность населения
(2010 год)
Пользователи Интернета
(2000 год)
Пользователи Интернета
(Последние данные)
Проникновение
(% от Численности населений)
Уровень Роста за период
(2000-2010 года)
Африка
1,013,779,050
4,514,400
110,931,700
10.9 %
2,357.3%
Азия
3,834,792,852
114,304,000
825,094,396
21.5 %
621.8%
Европа
813,319,511
105,096,093
475,069,448
58.4 %
352.0%
Ближний
Восток
212,336,924
3,284,800
63,240,946
29.8 %
1,825.3%
Северная Америка
344,124,450
108,096,800
266,224,500
77.4 %
146.3%
Южная Америка
592,556,972
18,068,919
204,689,836
34.5 %
1,032.8%
Океания
34,700,201
7,620,480
21,263,990
61.3 %
179.0%
Весь мир
6,845,609,960
360,985,492
1,966,514,816
28.7%
444.8%
Ниже представлен график, показывающий как распределяются в процентном соотношении все пользователи интернета по регионам:
Доля Российских пользователей 2,2%, это информация по Яндексу на начало 2010 года, сейчас скорей всего значение уже выросло.
А эта табличка показывает уровень проникновения интернета:
Следующий график показывает нам количество интернет пользователей по мировым регионам:

Статистика крупнейших Поисковых систем

Чтоб понять, те объемы, которые из себя представляет мировой интернет, достаточно посмотреть на статистику известных страниц поисковым систем.
Ниже представлены графики изменения количества проиндексированных (известных) страниц основными поисковыми системами на протяжении определённого периода времени.
Для Гугла:
.
Для Яху:
Для Яндекса я не нашёл никаких графиков и вообще информации об изменениях его индексной базы.
Известно лишь то, что на конец 2009 года, Яндексу было известно про 3,6 миллиарда страниц, сейчас это цифра уже наверно на порядок больше. Как видно Яндекс отстаёт от лидирующих поисковых систем в 3 – 4 раза по объёмам проиндексированных страниц. Но по темпам развития и увеличения своей базы, он сейчас на одном из первых мест.

Интересные факты

Ну и на последок, те факты, которые мне показались интересные и забавные.
Про домены и сайты:

  • Первый зарегистрированный домен был Symbolics.com, это было 15 Марта 1985 года, список первых 100 доменов можно посмотреть тут.
     
    Про Социальные сети:
     
  • 500+ миллионов пользователей зарегистрировано в Facebook;
  • 105+ миллионов пользователей зарегистрировано в Twitter-е.
  • Места, по количеству затраченного времени пользователей, в социальных сетях занимают:
    1) Россия (9,8 часов в месяц)
    2) Израиль (9,2 часа в месяц)
    3) Турция (7,6 часов)
  • Рекорд по количеству твитов в секунду был побит на Чемпионате Мира в ЮАР, когда Япония выиграла у Даниии. Когда прозвучал финальный свисток, было совершено 3283 твитов в секунду.
  • Почти 1 из 5 (18%) пользователей Твиттера в США, проверяют его утром прежде чем встанут с постели.

    Разное:

  • Если в поиске картинок Гугла набрать:
    '241543903'
    То вы увидите фотографии людей, засунувших головы в морозильные камеры :)
  • Несмотря на большое число пользователей, 80% населения мира не пользуется Интернетом.
  • Человек сидящий за монитором компьютера мигает 10 раз в минуту, в то время как нормальный человек :) примерно в два раза чаще.
  • Китай инвестировал 649 миллионов долларов на протяжку оптических магистралей по своей стране в период с 1997 по 2009 год. Продолжительность составила примерно 8267 тысяч километров.