Ответ сервера

Просмотров 745
Сложность:

Когда вы хотите перейти на определенный сайт, то браузер делает запрос к определенному серверу. В ответе сервера, помимо содержимого веб-страницы, хранится много важных данных. Вы можете увидеть их разными способами, но один из самых простых - это воспользоваться сервисом от Яндекса.

Сразу хотел бы сказать, что важно не только содержимое ответа сервера, но и время, за которое сервер этот ответ даёт. Яндекс рекомендует держать его в пределах 0,2 секунд. Некоторые CMS (битрикс) на некоторых виртуальных хостингах не могут уложиться в это время. Выбирайте правильное ПО и хостинг, оптимизируйте код. Если всевозможные оптимизации уже сделали, но время ответа сервера больше 0,2 секунд, то стоит задуматься о переезде на VDS. Он стоит чуть дороже виртуального хостинга, но скорость ответа сервера там будет быстрее.

Коды ответа сервера

Конечно, правильно писать коды состояния или коды статуса HTTP, но большинство используются именно такую формулировку. Таких кодов несколько десятков. Расскажу о самых распространённых из них.

200 ОК - самый популярный код ответа сервера, который означает, что сервер нормально обработал конкретный запрос. Посетители сайта при загрузке страниц вашего сайта должны получать 200 код на саму страницу, а также на все файлы, которые требуются для её полноценного отображения.

301 Moved Permanently - документ перемещён навсегда. Раньше у страницы был один адрес, а теперь другой. Используйте перенаправление на новый адрес с 301 кодом ответа сервера. 301 редирект также используется при перенаправлении с неосновных вариантов страниц на основной. Если одна страница доступна по нескольким адресам и отдаёт 200 код, то для индексации и ранжирования сайта это точно ничего хорошего не принесёт. Варианты таких 301 редиректов зависят от используемой CMS или фреймворка.

Примеры 301 редиректов:

  • с www.site.ru на site.ru - выбираем основную версию сайта, с www или без www,
  • с http://site.ru на https://site.ru - переходим на зашифрованный https протокол после покупки ssl сертификата,
  • с site.ru/index.php на site.ru - у некоторых cms дублируются адреса страниц с различными добавлениями,
  • с site.ru/page/ на site.ru/page - убираем страницы со слешем "/" в адресе,
  • c site.ru/?id=123 на site.ru/page - некоторые cms могут хранить дубли страниц по своим URL'ам.

302 Moved Temporarily - документ перемещён временно. К сожалению, такой код ответа сервера чаще появляется не по инициативе владельца сайта, а в случае технических проблем. Я имел опыт, когда ко мне обращались с проблемой существенного падения посещаемости. Оказалось, что все страницы начали отдавать 302 код ответа сервера. После исправления ошибки позиции и посещаемость начали восстанавливаться.

304 Not Modified - а такой ответ наоборот показывает, что сайтом вы скорее всего занимаетесь. Такой статус имеют документы (файлы), которые веб-сервер предлагает загрузить браузеру из своего кэша. Они не менялись с вашего прошлого посещения. То есть конкретная страница (html документ) отдаёт 200 код, а уже файлы (картинки, скрипты и т.д.), 304 кодом ответа просят браузер не скачивать их заново.

404 Not Found - документ не найден. Страница или файл не существуют. Популярные причины: неправильная ссылка, страница или файл удалены/переименованы, вы сами неправильно ввели адрес. Самое интересно, что можно настроить (поломать) CMS/фреймворк/веб-сервер так, что у вас страницы будут открываться, но код ответа будет 404. Поисковые системы такие страницы будут постепенно убирать из своего индекса и выдачи.

400, 500, 502, 503, 504 - можно объединить эти коды одной фразой "Ошибка сервера". Начните решение проблемы с письма в хостинг и перезагрузкой процесса/сервера, если у вас VDS. Причины могут быть самые разные, начиная с того, что сервер не выдерживает нагрузки, заканчивая ошибками программистов при написании кода.

Текстовая информация в ответе сервера

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

Кодировка - используйте UTF-8. Если у вас другая кодировка, то это повод задуматься.

Server - веб-сервер по умолчанию включает в ответ сервера своё название и версию. Например, "nginx/1.16.1".

X-Powered-By - аналогичный необязательный заголовок, который рекламирует ПО, используемое сервером.

Content-Encoding - можно посмотреть, включено ли сжатие gzip.

Cache-Control - настройка кэширования файлов. Если включено, то показывается срок кэширования.

Видеоверсия

Автор: Александр Дергунов
Дата публикации:
Поделиться: