При обращении по URL-у, сервер отдает нам не только содержимое страницы, но и передает служебную информацию, например: код статуса HTTP. Прежде, чем перейти к проверке ответа сервера, предлагаю определиться с терминами.
Что такое код статуса HTTP?
Код статуса HTTP (или код ответа сервера) — трёхзначное число, которое обозначает определенный статус запрашиваемой страницы.
Пример:
HTTP/1.1 200 OK , где
HTTP/1.1 - версии протокола,
200 - код успешного выполнения запроса.
Подробнее посмотреть значения кодов ответа сервера можно в этой статье.
Например:
- Существующая страница — должна отдавать код ответа сервера 200;
- Несуществующая страница — 404 ответ сервера;
- С url-f старой страницы на актуальную — 301.
В этой статье мы рассмотрим различные задачи, связанные с проверкой ответа сервера, а также поговорим о полезных инструментах, которые помогут нам решить их.
Проверить код ответа сервера страницы
Для того чтобы узнать код ответа сервера страницы, воспользуемся популярным онлайн сервисом. Mainspy позволяет определить ответ сервера по заданному урлу, что может быть полезно для определения наличия страницы или работоспособности сайта в целом.
Все довольно просто: необходимо вставить URL страницы и нажать кнопку “Проверить”.
Также можно воспользоваться проверкой ответа сервера в Яндекс Вебмастере , инструмент доступен только для подтверждённых сайтов.
Узнать код ответа сервера всех страниц сайта
Для пакетной проверки ответа сервера вышеизложенный сервис нам, к сожалению, не подойдет, поэтому воспользуемся десктопными приложениями Xenu или Spider, которые помогут пропарсить все страницы сайта и проверить код ответа всех страниц.
Получение статуса страниц в Xenu
В главном меню перейдем "File- Check URL". Введем адрес сайта и запустим проверку урлов на ответ сервера
Результат проверки статуса ответа сервера можно будет увидеть в колонке "Status".
Получение статуса страниц в Spider
Запускаем приложение, вводим URL. Результат смотрим в колонке “Статус”.
Массовая проверка страниц на код ответа сервера
Используется для проверки группы Url-ом нескольких сайтов или вполне конкретных страниц. В решении этой задаче нам поможет этот сервис. Вводим списком адреса.
Получаем результат.
Есть небольшое ограничение: максимальное количество Url-ов составляет 100 адресов.
Но это совсем не проблема. Я предлагаю вам решение, которое вы можете реализовать на вашем веб-сервере (необходимы небольшие знания PHP).
Рассмотрим функцию get_headers, которая возвращает все заголовки, посланные сервером в ответ на HTTP запрос.
Пример: Возвращает код ответа сервера заданного URL-а.
<!--?php ini_set('max_execution_time', 900); $url='//semantica.in/'; $code=get_headers($url); echo($code[0]); ?>
Немного доработав php код , мы сможем списком вводить URL-ы и получать коды ответа сервера:
<form action="index.php" method="POST"> <textarea name='url'></textarea> <button type="submit">Send</button> </form> <?php if(!empty($_POST["url"])){ $url = $_POST['url']; $links = explode("\r\n",$url); $count = count($links); for ($i =0; $count > $i; $i++) { $url = $links[$i]; $head = get_headers($url); $code = $head[0]; echo "$url $code"; echo "<br>"; } } ?>
Мы рассмотрели популярные задачи, которые могут возникнуть перед вебмастером. Надеюсь, что информация окажется для вас полезной.