Львиная доля всех моих работ связана с работами по сео-оптимизации сайтов по требованиям сео-специалистов. Доработать, исправить, добавить, устранить... Очень часто нужно посмотреть ответы сервера по тому или иному url-адресу.
Проверку можно делать разными способами. Самым простым будет воспользоваться онлайн-тестами. Но это не наш вариант:)
В данном посте рассмотрим, какие возможности для данной задачи нам предоставляет curl.
Коды ответа сервера
Для начала рассмотрим самые распространенные коды ответа сервера:
1xx - информационные:
- 100 - сервер принял первую часть запроса, можно подрожать передачу;
- 101 - нужно изменить протокол работы на более подходящий;
- 102 - на обработку запроса уйдет много времени, используется чтобы браузер не разрывал соединение раньше времени;
2хх - операция успешна:
- 200 - запрос выполнен успешно, отправляется для большинства запрашиваемых страниц;
- 201 - после выполнения запроса был создан ресурс;
- 202 - запрос принят, но еще не обработан;
- 203 - запрос выполнен успешно, но информация для ответа взята из прокси;
- 204 - запрос обработан, но контента для отображения нет;
- 205 - попросить пользователя ввести необходимые данные;
- 206 - запрос обработан, но передана только часть контента;
3xx - перенаправления:
- 300 - есть несколько страниц для этого запроса, например, на нескольких языках;
- 301 - страница навсегда перемещена по новому адресу;
- 302 - документ был временно перемещен;
- 303 - документ необходимо загрузить по указанному адресу с помощью протокола GET;
- 304 - документ не изменился с последнего запроса;
- 305 - нужно использовать прокси;
- 307 - ресурс временно перемещен на новый адрес.
4хх - ошибка в запросе:
- 400 - неверный запрос;
- 401 - необходимо аутентифицироваться;
- 403 - запрос принят, но у вас нет доступа;
- 404 - страница не найдена на сервере;
- 405 - используемый метод нельзя применять на сервере;
- 408 - время ожидания передачи запроса истекло;
- 410 - ресурс полностью удален;
- 411 - нужно указать длину запроса;
- 413 - запрос слишком длинный;
- 414 - URI запроса слишком длинная.
5хх - ошибка сервера:
- 500 - внутренняя ошибка сервера;
- 501 - нужная функция не поддерживается;
- 502 - прокси не может соединиться со шлюзом;
- 503 - сервер не может обрабатывать запросы по техническим причинам;
- 504 - прокси не дождался ответа от сервера;
- 505 - версия протокола HTTP не поддерживается.
Основные заголовки, отправляемые сервером
- Server - имя и версия веб-сервера;
- Date - дата осуществления запроса;
- Content-Type - MIME тип передаваемых данных, например, text/html, тут же задается кодировка;
- Connection - тип соединения, может быть closed - уже закрыто, или keep-alive - открыто для передачи данных;
- Vary - указывает при каких заголовках веб-сервер будет возвращать разные старины для одного URI;
- Set-Cookie - сохранить Cookie информацию для страницы;
- Expires - можно хранить страницу или ресурс в кэше до определенной даты;
- Cache-Control - настройка времени кэширования страницы браузером, а также разрешения на кэширования;
- ETag - содержит контрольную сумму для страницы, применимо для проверки кэша;
- Last-Modified - дата, когда страница последний раз была изменена;
Проверка кода ответа сервера с помощью curl
Чтобы увидеть только код ответа страницы достаточно выполнить такую команду:
curl -I https://pai-bx.com 2>/dev/null | head -n 1 | cut -d$' ' -f2
Как видим, сервер вернул 200 статус, что означает, что все ок. Страница доступна для чтения. Если проверить страницу, для которой должны быть настроены редиректы, получим 301-й статус:
Проверка http-заголовков с помощью curl
Чтобы вывести заголовки страницы необходимо запустить curl с опцией -I:
curl -I https://pai-bx.com
Проверка IF-MODIFIED-SINCE
Чтобы увидеть работает ли данный заголовок, для начала выполняем обычный запрос заголовков сервера. Далее, повторяем отправку запроса, но уже с заголовком If-Modified-Since и датой:
Видим, что второй запрос возвращает 304-й статус ответа, что означает, что с указанного времени страница не менялась и может быть взята из кеша браузера.
Таким образом, с помощью curl можно увидеть код ответа сервера и отдаваемые сервером заголовки.
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.