Поиск
Подписаться
Разное

Валидный XHTML 1.0 Transitional

Валидный RSS

Как уменьшить трафик и нагрузку на сервер Категория: Веб-мастерство
Название: Как уменьшить трафик и нагрузку на сервер
Дата добавления: 12-08-2012
Раз просмотрено: 787
Комментарии: 0
Рейтинг: · · · · · · · · · · (0 голосов)

Как уменьшить трафик и нагрузку на сервер

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

Используйте CSS вместо изображений

Изображения потребляют много трафика. Теперь, когда большинство браузеров имеют возможность отображать такую графику, как тени или скругленные углы, вы обязательно должны использовать CSS вместо изображений, где это возможно, так как CSS код потребляет намного меньше трафика, чем изображения.

Если вам нужен сайт, который должен быть совместимым со старыми браузерами, такими как печально известный Internet Explorer, решение заключается в использовании альтернативных стилей и изображений только для этого браузера. Используйте условные комментарии для подключения стилей только для Internet Explorer:

<!--[if IE]>
  <link href="ieonly.css" rel="stylesheet" />
<![endif]-->

Оптимизируйте изображения

Хотя вы можете заменить многие изображения с помощью CSS, они по-прежнему остаются важной частью сайта. Но когда вам нужно использовать изображения, вы должны убедиться, что они оптимизированы для интернета.

Если вы используете Adobe Photoshop, вы можете использовать опцию «Save for Web & Devices», которая позволит вам с легкостью найти наилучший компромисс между качеством и размером изображения. Другим вариантом является использование онлайн сервиса для сокращения размера изображения, без больших потерь в качестве. Этот сервис называется Smush It, и он просто незаменим для оптимизации изображений.

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

Кэширование — это извлечение данных из хранилища (называемого кэш), вместо использования ресурсов для получения необходимой информации каждый раз.

Приведенный ниже код добавляет кэширование к таким файлам, как JPG, GIF, и SWF. Кэш будет длиться одну неделю. Для других типов файлов, вы можете настроить длительность кэширования. Например, CSS и JavaScript файлы следует кэшировать на 12 часов. Вставьте этот код  в ваш .htaccess файл.

<filesmatch "\.(jpg|jpeg|png|gif|swf)$"="">
  Header set Cache-Control "max-age=604800, public"
</filesmatch>

Предотвращайте кражу трафика и хотлинкинг

Хотлинкинг — это плохая, но очень распространенная практика в интернете. Но что же такое хотлинкинг? Вот простой пример пример: сайт «А» хранит изображение, которое отображается на его HTML-странице. Сайт «Б» подключает это изображение к себе. В результате, каждый раз, когда загружается сайт «Б» на сайт «А» увеличивается нагрузка и трафик.

Определенно, вы не хотите платить за чужой трафик. Поэтому создайте специальное изображение — это может быть 1-пиксельное прозрачное GIF изображение или изображение с текстом «Не воруйте мои картинки» (я например, использую логотип своего сайта Netcoding.ru) и загрузите картинку на сервер, а еще лучше на бесплатный хостинг изображений. Затем, добавьте следующий код в ваш .htaccess файл, но не забудьте обновить адреc вашего сайта и созданного изображения:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sait.ru [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://yourserver.ru/image.gif [NC,R,L]

Используйте сайты-хостинги для размещения больших файлов

Если у вас есть большие файлы для размещения (видео, Photoshop PSD файлы, большие изображения, и т.д.) вам лучше использовать специальные сервисы, такие как Dropbox для их размещения. Таким образом, когда кто-то будет скачивать эти файлы, он будет использовать не ваш трафик, а трафик используемого сайта.

Используйте GZip сжатие в PHP файлах

GZip сжатие — это техника, сжимающая данные, которые отправляются с вашего сервера, заставляющая браузер распаковать эти данные на лету, тем самым уменьшая объем передаваемых данных, и увеличивая скорость загрузки страниц. Все современные браузеры поддерживают GZip сжатие.

Для создания GZip сжатия на вашем сайте, вы должны создать 2 файла. Первый назовите gzip_header.php, вот его содержимое:

<?php
$phpver = phpversion();
$useragent = (isset($_SERVER["HTTP_USER_AGENT"])) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
if($phpver >= '4.0.4pl1' && (strstr($useragent,'compatible') || strstr($useragent,'Gecko'))) {
	if(extension_loaded('zlib')) {
		ob_start('ob_gzhandler');
	}
}
else if($phpver > '4.0') {
	if(strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
		if(extension_loaded('zlib')) {
			$do_gzip_compress = true;
			ob_start();
			ob_implicit_flush(0);
			header('Content-Encoding: gzip');
		}
	}
}
?>

Теперь создайте второй файл и назовите его gzip_footer.php, вот его содержимое:

<?php
$gzip_contents = ob_get_contents();
ob_end_clean();
$gzip_size = strlen($gzip_contents);
$gzip_crc = crc32($gzip_contents);
$gzip_contents = gzcompress($gzip_contents, 9);
$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $gzip_contents;
echo pack('V', $gzip_crc);
echo pack('V', $gzip_size);
?>

После того, как вы создали эти два файла, подключите первый в самый верх ваших страниц, а второй в самый низ.

Используйте надежный хостинг

Последний, но не менее важный совет заключается в использовании надежного хостинга, если вы хотите, чтобы ваш сайт был быстрым и надежным. Лично я использую хостинг Webhost1.ru, на котором и находится этот сайт. Помимо очень демократичных цен ($1 за 1 Гб места), он отличается высокой скоростью и стабильностью работы.

Это интересно: «Вкладки на jQuery».

Понравился материал? Расскажи о нем всем:
Оцените эту статью:
Прокомментируйте:
Ваше имя:

Ваш комментарий будет первым.