Upload
-
View
2.157
Download
1
Embed Size (px)
DESCRIPTION
Содержание: - Назначение протокола - Методы - Коды - Редиректы - Ошибка 404 - Заголовки Более подробную информацию Вы можете получить на полном курсе SEO: http://www.topexpert.pro/seo-kurs.html
Citation preview
Протокол HTTPЕвгений Концевой, руководитель СЕО проектов, учебный центр ТопЭксперт
Евгений Концевой В SEO чуть больше года
Опыт работы – как на стороне заказчика, так и в SEO-агентстве.
Специализация: продвижение порталов, интернет магазинов, программирование и внедрение стратегий. Работал с проектами cian.ru, keramogranit.ru, buyreklama.ru, aksline.ru и др.
Выпускник 2-го потока курсов ТопЭксперт
Евгений Концевой
ТопЭксперт – это Учебный центр по SEO с
эффективной программой обучения.
Образовательный сайт, содержащий справочную информацию.
Группа экспертов, оказывающих услуги аудита, консультаций и продвижения сайтов.
Евгений Концевой
Миссия
Повышать квалификацию участников отрасли интернет-маркетинга, соединяя специалистов, экспертов и работодателей в образовательную среду и упорядочивая и структурируя информацию в доступные масштабируемые образовательные продукты, адаптированные для дистанционного обучения.
• Для специалистов: предоставить возможность получения доступного дистанционного профессионального образования в сфере IT.
• Для компаний: поставлять квалифицированные кадры, обучать сотрудников.
• Для экспертов: предоставить возможность экспертам быть понятыми и услышанными, способствовать повышению дохода и востребованности.
• Для технологий: создать среду для роста специалистов, способных создавать новые технологии.
Евгений Концевой
Рассказать о HTTP протоколе и научить работать с ним, используя основные методы
Цели вебинара
Евгений Концевой
Схема занятия
Евгений Концевой
Назначение протокола HTTPHTTP – протокол прикладного уровня, предназначенный для передачи данных от клиента к серверу и наоборот.
Примеры других протоколов того же уровня – FTP, SMTP, NTP
Евгений Концевой
Окно авторизации по FTP
Евгений Концевой
Получаем список файлов и используем браузер в качестве ftp клиента
Евгений Концевой
Пакет данных HTTP протокола состоит из 3 основных элементов
Стартовая строка — определяет тип сообщения;
Заголовки— параметры передачи и другие сведения;
Тело сообщения — непосредственно данные сообщения.В частности – тело, это html код запрашиваемой страницы
Евгений Концевой
Стартовая строкаВключает в себя метод обращения на сервер, ссылку на ресурс и версию протокола
GET topexpert.pro HTTP/1.1
метод ссылка версия
Версии• HTTP/0.9• HTTP/1.0• HTTP/1.1
Евгений Концевой
МетодыGET – самый популярный метод. Запрашивает содержимое ресурса по ссылке
Особенность – передача параметров через URL
http://keramogranit.ru/news.html
URL без параметров
Евгений Концевой
http://keramogranit.ru/catalog.24.html?limit=45&sort=asc
URL с параметрами
Параметры:• limit=45• sort=asc
Передача параметров через GET запрос – одна из причин возникновения дубликатов страниц
Евгений Концевой
POST – запрос с передачей данных от пользователя. Параметры передаются в теле сообщения и не портят урл
Евгений Концевой
<form action=“index.php" method=“post">
Средствами HTML и JS можно передать параметры, если использовать скрытые поля формы, например
<input type="hidden" name=“sort" value=«asc">
Евгений Концевой
HEAD – похож на GET. Применяется для проверки функционирования ресурса
PUT – применяется для отправки файлов на сервер. Метод не кэшируется
Другие методы – DELETE, CONNECT, TRACE, LINK, UNLINK, PATCH
Евгений Концевой
Коды ответов сервера
В ответ на http пакет от клиента, сервер посылает свой пакет данных, где и содержится код ответа.
2xx – совокупность результатов успешного выполнения
3xx – перенаправления (redirections)
4xx – статусы ошибки запрашиваемого ресурса
5xx – серверные ошибки
HTTP/1.1 200 OK
Евгений Концевой
Коды 2xx
Самый распространённый код 200 - OK
201 – создан новый ресурс. Чаще всего после PUT
206 – сервер вернул часть запрошенного содержимого
Другие коды
202 Accepted, 203 Non-Authoritative Information, 204 No Content, 205 Reset Content
Евгений Концевой
Коды 3xx
300 Multiple Choices – сервер возвращает страницу с набором ссылок
301 Moved Permanently – перемещён окончательно
302 Moved Temporarily – перемещён временно или найден
303 See Other – запросить по другой ссылке, методом GET
304 Not Modified – не изменён. Ответ на запрос с датой изменения
305 Use Proxy – ресурс следует запросить через прокси сервер
Евгений Концевой
Редиректы
А Б301
Склейка сайтов
Удаление дублей
Удаление 404 из индекса
Евгений Концевой
Варианты решения:
1) Файл .htaccess2) PHP код3) JS
htaccess строится на регулярных выражениях и тяжело воспринимается иногда
Евгений Концевой
.htaccess
Скриншот
Евгений Концевой
RewriteEngine On – разрешение преобразований
# - комментарий
Фрагмент htaccess джумлы
Евгений Концевой
Постраничные редиректы
Редиректы со страниц с GET параметрами на страницы с ЧПУ
Евгений Концевой
Проблему www можно решить так
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Обратно
RewriteCond %{HTTP_HOST} !^www.site.ru$ [NC]RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Евгений Концевой
PHP редиректы
Код редиректов зачастую достаточно вставить в самое начало головного php скрипта.
Php код ограничивается тегом
<?php…?>
<?…?>
или
Евгений Концевой
header("HTTP/1.1 301 Moved Permanently"); header("Location: http://site.ru"); die();
Перенаправление на главную страницу любого сайта
Функция header – отправляет http заголовки
Функция die – завершает выполнение скрипта
Евгений Концевой
if (strpos($_SERVER['REQUEST_URI'], ‘newsid=26') !== false) { header("HTTP/1.1 301 Moved Permanently"); header("Location: /fobii-i-strahi.html"); die();}
Перенаправление с внутренних страниц на главную
$_SERVER['REQUEST_URI'] – глобальная переменная, которая содержит URL данной страницы
strpos – функция, которая проверяет вхождение newsid=26 в URL страницы
Евгений Концевой
if ($_SERVER['REQUEST_URI'] != '/'){ header("HTTP/1.1 301 Moved Permanently"); header("Location: /"); die();}
Перенаправление с внутренних страниц на главную
Евгений Концевой
<script type="text/javascript">
document.location.href = 'http://site.ru';
</script>
JS редирект
Таким образом можно перенаправить пользователя на другую страницу но код ответа будет 200
Евгений Концевой
Обнаружить редиректы на вашем сайте можно с помощью системы сайтрепорт
Обнаружение редиректов
Евгений Концевой
Коды 4xx
400 Bad Request – сервер обнаружил ошибку в запросе от клиента
401 Unauthorized – ответ на запрос от неавторизованного пользователя
403 Forbidden – доступ к ресурсу запрещён
404 Not Found – ресурс не найден
405 Method Not Allowed – метод неприменим к данному ресурсу
406 Not Acceptable – ресурс не удовлетворяет характеристикам запроса
408 Request Timeout – сервер сбросил соединение. Возникает при передаче файлов
410 Gone – ресурс удалён
Евгений Концевой
Ошибка 404
Самый распространённый вариант ошибки
Вывод данной ошибки нужно настроить обязательно
ErrorDocument 404 http://site.ru/404.html
Директива для настройки через htaccess
Евгений Концевой
Варианты верстки 404
alawar.ru
Евгений Концевой
wikimart.ru
Евгений Концевой
Отчёт сайтрепорта по ошибкам 4**
Евгений Концевой
Коды 5xx
501 Not Implemented – сервер не поддерживает метод, переданный в запросе
502 Bad Gateway – неверный ответ от вышестоящего сервера
503 Service Unavailable – услуга недоступна. Часто возникает при перегрузках
504 Gateway Timeout – вышестоящий сервер сбросил соединение
505 HTTP Version Not Supported – заданная версия http не поддерживается
507 Insufficient Storage – невозможно выделить память, нет места
Евгений Концевой
Из дипломной работы Александра Касьянова, выпускника 7-го потока профессионального курса SEO
Евгений Концевой
Заголовки HTTP
Так называемые параметры HTTP сообщения
Пример
Евгений Концевой
Location – ссылка, по которой должен перейти клиент
header("HTTP/1.1 301 Moved Permanently"); header("Location: /");
User-Agent – имя клиента
Примеры• Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.14912/812; U; ru) Presto/2.4.15• IBM-WebExplorer-DLL/v1.1h• Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101
Firefox/19.0
Евгений Концевой
User-Agent некоторых ботов
• Googlebot-Image: Googlebot-Image/1.0
• Googlebot alternate: Mozilla/5.0 (compatible; googlebot/2.1; +http://www.google.com/bot.html)
• Yandex: Mozilla/5.0 (compatible; YandexBot/3.0)
• YandexImages: Mozilla/5.0 (compatible; YandexImages/3.0)
• YandexDirect: Mozilla/5.0 (compatible; YandexDirect/3.0)
Евгений Концевой
echo $_SERVER['HTTP_USER_AGENT'];
PHP пример вывода User-Agent пользователя на экран
Меняем User-Agent в мозилле
Евгений Концевой
Добавляем новую переменную
Евгений Концевой
Представляемся ботом Яндекс Директ
Настройки
Евгений Концевой
Результат
Евгений Концевой
Поле Referer – страница, с которой пришёл пользователь
Referer: http://yandex.ru/yandsearch?text=%D0%BA%D1%83%D1%80%D1%81%20%D1%81%D0%B5%D0%BE&clid=1909644&lr=54
Переходим на любой сайт из выдачи
Евгений Концевой
echo $_SERVER['HTTP_REFERER'];
Вывод Referer на экран в PHP
Проверка кодов ответа и многих других параметров
http://mainspy.ru/otvet_servera
Плагин HttpFox
Утилита WireShark
Евгений Концевой
HTTP - хороший, любите его»
Евгений Концевой - руководитель СЕО проектов ТопЭксперт
• skype:eugkont
• http://www.topexpert.pro/
«