HTTP (от англ. HyperText Transfer Protocol — протокол передачи гипертекста) — основной протокол прикладного уровня в интернете, через который браузер запрашивает у сервера веб-страницы, изображения, видео, файлы, а сервер отдаёт ответ.
Что такое HTTP в работе веба — фундамент, на котором построен весь интернет: каждое посещение страницы — это HTTP-запрос, каждая загруженная картинка или скрипт — отдельный HTTP-запрос. Протокол разработан Тимом Бернерсом-Ли в CERN в 1989 году одновременно с HTML и URL — это три кита, на которых построен World Wide Web. Первая стандартизированная версия HTTP/1.0 описана в RFC 1945 в мае 1996 года, HTTP/1.1 — в RFC 2068 (январь 1997) и обновлённая в RFC 7230 (июнь 2014).
HTTP/2 принят в мае 2015 (RFC 7540), HTTP/3 — в июне 2022 (RFC 9114). К 2024 году около 85% сайтов поддерживают HTTP/2, 25–30% — HTTP/3. HTTPS — это HTTP поверх TLS-шифрования, обязательный стандарт для современного интернета.
Что такое HTTP
HTTP — клиент-серверный протокол без сохранения состояния (stateless), описывающий правила обмена сообщениями между клиентом (браузером, мобильным приложением) и сервером (компьютером, хранящим веб-сайт). Полное название HyperText Transfer Protocol — протокол передачи гипертекста — отражает изначальную задачу: передавать связанные гипертекстовые документы между серверами научных институтов. Принцип работы: клиент отправляет HTTP-запрос с указанием метода (GET, POST), URL ресурса и заголовков; сервер возвращает HTTP-ответ со статусом, заголовками и телом (HTML-страница, изображение, JSON-данные). HyperText Transfer Protocol с момента создания и до текущего момента остаётся фундаментом веба.
«Без сохранения состояния» означает, что каждый HTTP-запрос обрабатывается независимо от предыдущих. Сервер не помнит, что этот же пользователь заходил минуту назад. Состояние между запросами поддерживается через дополнительные механизмы: cookies, сессии, токены авторизации.
HTTP работает поверх транспортного протокола TCP (Transmission Control Protocol) в версиях 1.x и 2, поверх QUIC (UDP-протокол с дополнительной надёжностью) — в HTTP/3. Стандартные порты: 80 для HTTP, 443 для HTTPS. При вводе адреса site.by в браузер по умолчанию подразумевается порт 80, при https://site.by — порт 443.
История HTTP
Протокол разработан Тимом Бернерсом-Ли в марте 1989 года в CERN (Европейская организация по ядерным исследованиям) в Швейцарии. Бернерс-Ли создавал систему обмена научными документами между физиками разных институтов и предложил три ключевые технологии: URL (для адресации ресурсов), HTML (для разметки документов) и HTTP (для их передачи).
Хронология развития HTTP:
- Март 1989. Тим Бернерс-Ли публикует предложение «Information Management: A Proposal» с описанием концепции связанных гипертекстовых документов.
- 1991. Первая реализация HTTP/0.9 — минималистичный протокол с одним методом GET и без заголовков.
- 6 августа 1991. Запуск первого веб-сайта на info.cern.ch с использованием HTTP/0.9.
- Май 1996. Публикация RFC 1945 — HTTP/1.0 как информационный документ. Добавлены заголовки, методы POST и HEAD, статус-коды.
- Январь 1997. RFC 2068 — первая версия HTTP/1.1 как «Proposed Standard». Поддержка постоянных соединений (keep-alive), pipelining, chunked transfer.
- Июнь 1999. RFC 2616 — обновлённый HTTP/1.1, ставший де-факто стандартом интернета на 15 лет.
- Июнь 2014. RFC 7230–7235 — повторная публикация HTTP/1.1 с уточнениями и исправлениями.
- Май 2015. RFC 7540 — HTTP/2 как Proposed Standard. Бинарный протокол, мультиплексирование, server push.
- Июнь 2022. RFC 9114 — HTTP/3 как Proposed Standard. Использование QUIC вместо TCP, ускоренное установление соединения.
Каждая новая версия HTTP сохраняет обратную совместимость со старыми. Браузер и сервер согласовывают наивысшую общую версию протокола при установлении соединения, поэтому переход на новые версии не ломает работу старых сайтов.
Версии HTTP — от 0.9 до HTTP/3
| Версия | Год | Главные особенности |
|---|---|---|
| HTTP/0.9 | 1991 | Минимальный протокол, только метод GET, без заголовков, без статус-кодов |
| HTTP/1.0 | 1996 | Заголовки, методы POST/HEAD, статус-коды, MIME-типы, новое соединение для каждого запроса |
| HTTP/1.1 | 1997 | Постоянные соединения, pipelining, chunked transfer, Host header, кеширование |
| HTTP/2 | 2015 | Бинарный протокол, мультиплексирование запросов в одном соединении, server push, сжатие заголовков HPACK |
| HTTP/3 | 2022 | Транспорт через QUIC поверх UDP, ускоренное соединение, лучшая работа на мобильных сетях |
HTTP/1.1 остаётся самым распространённым протоколом по абсолютному количеству поддерживающих сайтов — поддерживается всеми браузерами, серверами, прокси, мобильными клиентами. Главный недостаток — последовательная обработка запросов в одном соединении, что замедляет загрузку страниц с большим количеством ресурсов.
HTTP/2 решил проблему через мультиплексирование: десятки запросов передаются параллельно в одном TCP-соединении. К 2024 году около 85% топ-10 миллионов сайтов поддерживают HTTP/2 — это уже стандарт для крупных проектов. Включается на стороне веб-сервера (Nginx, Apache, IIS, LiteSpeed).
HTTP/3 идёт ещё дальше: вместо TCP использует QUIC — протокол поверх UDP с встроенным шифрованием TLS 1.3 и быстрым установлением соединения. Особенно выигрывает на мобильных сетях с переключениями между Wi-Fi и сотовой связью. По состоянию на 2024 год около 25–30% сайтов поддерживают HTTP/3, в основном крупные проекты с CDN (Cloudflare, Akamai, Fastly).
Как работает HTTP-запрос
Структура HTTP-запроса состоит из трёх частей: начальная строка с методом и URL, заголовки, тело запроса (опционально).
GET /seo-slovar/http/ HTTP/1.1
Host: cropas.by
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0
Accept: text/html,application/xhtml+xml
Accept-Language: ru-RU,ru;q=0.9
Cookie: session_id=abc123
Connection: keep-aliveОтвет сервера имеет аналогичную структуру: статусная строка, заголовки, тело ответа.
HTTP/1.1 200 OK
Date: Mon, 26 May 2026 14:30:00 GMT
Server: nginx/1.24.0
Content-Type: text/html; charset=UTF-8
Content-Length: 15420
Cache-Control: max-age=3600
Set-Cookie: visit_id=xyz789; Path=/; Secure
<!DOCTYPE html>
<html lang="ru">
...Заголовки несут метаинформацию о запросе и ответе: тип передаваемых данных (Content-Type), кодировка, размер, инструкции кеширования, cookies. Стандартные HTTP-заголовки описаны в RFC 7231, нестандартные начинаются с префикса X- (например, X-Frame-Options, X-XSS-Protection).
Полный путь HTTP-запроса в браузере: пользователь вводит URL → браузер выполняет DNS-резолвинг (преобразование домена в IP-адрес) → устанавливает TCP-соединение с сервером на порту 443 → выполняет TLS-handshake для HTTPS → отправляет HTTP-запрос → получает ответ → парсит HTML и загружает дополнительные ресурсы (CSS, JS, изображения) параллельными HTTP-запросами → отрисовывает страницу.
HTTP-методы
| Метод | Назначение | Идемпотентность |
|---|---|---|
| GET | Запрос ресурса с сервера | Да — повторение даёт тот же результат |
| POST | Отправка данных на сервер (создание ресурса) | Нет — каждый вызов создаёт новый ресурс |
| PUT | Загрузка ресурса (создание или полное обновление) | Да |
| PATCH | Частичное обновление ресурса | Нет |
| DELETE | Удаление ресурса | Да |
| HEAD | Получение только заголовков без тела ответа | Да |
| OPTIONS | Получение информации о поддерживаемых методах | Да |
| TRACE | Диагностический возврат полученного запроса | Да |
| CONNECT | Установление туннеля через прокси | — |
Большинство веб-сайтов используют только GET и POST. GET — для загрузки страниц и данных, POST — для отправки форм, регистрации, создания заказов. Современные REST API дополнительно используют PUT, PATCH, DELETE для операций над ресурсами.
Поисковые роботы (Googlebot, YandexBot) при сканировании сайта используют преимущественно GET и реже HEAD (для быстрой проверки наличия ресурса без загрузки тела). POST-запросы, требующие активного действия посетителя, поисковики не выполняют.
HTTP-статусы
HTTP-статус — трёхзначный код, который сервер возвращает в ответ на запрос. Первая цифра определяет класс ответа:
- 1xx — Информационные. Промежуточные ответы во время обработки запроса. Редко встречаются в обычной работе сайтов.
- 2xx — Успешные. Запрос обработан корректно. Главный код — 200 OK.
- 3xx — Перенаправления. Запрашиваемый ресурс находится по другому адресу.
- 4xx — Ошибки клиента. Проблема в запросе пользователя: страница не найдена, нет доступа.
- 5xx — Ошибки сервера. Проблема на стороне сервера: сбой, перегрузка.
| Код | Название | Значение для SEO |
|---|---|---|
| 200 | OK | Стандартный успешный ответ — страница доступна |
| 301 | Moved Permanently | Постоянное перенаправление, ссылочный вес передаётся новому URL |
| 302 | Found | Временное перенаправление, ссылочный вес не передаётся |
| 304 | Not Modified | Ответ кеширования, страница не изменилась с момента последнего запроса |
| 403 | Forbidden | Доступ запрещён, страница не индексируется |
| 404 | Not Found | Страница не найдена, поисковик постепенно удалит из индекса |
| 410 | Gone | Страница удалена навсегда, удаление из индекса быстрее, чем 404 |
| 500 | Internal Server Error | Внутренняя ошибка сервера — критично, требует немедленного исправления |
| 502 | Bad Gateway | Ошибка прокси-сервера или CDN |
| 503 | Service Unavailable | Временная недоступность сервера, поисковик попробует позже |
| 504 | Gateway Timeout | Превышение времени ожидания ответа от внутреннего сервера |
Для SEO критически важно корректно настраивать статусы. Удалённые страницы должны возвращать 410 или 404 (но не 200 с пустым контентом — это soft 404). Перенесённые страницы — 301 (не 302). Технические работы — 503 с заголовком Retry-After. Регулярная проверка статусов через Google Search Console и Screaming Frog SEO Spider — стандартная задача технического аудита.
HTTP vs HTTPS
HTTPS (HTTP Secure) — это HTTP, передаваемый через шифрованное соединение TLS (раньше — SSL). Внешне для пользователя разница только в адресной строке: https:// вместо http:// и иконка замка. Технически HTTPS обеспечивает три гарантии:
- Конфиденциальность. Данные между клиентом и сервером шифруются, посредники не могут перехватить пароли, cookies, содержимое страниц.
- Целостность. Невозможно изменить передаваемые данные «в пути» без обнаружения подмены.
- Аутентификация. SSL-сертификат подтверждает, что сайт действительно тот, за кого себя выдаёт.
С 2014 года Google официально использует HTTPS как фактор ранжирования. С 2018 года Chrome помечает HTTP-сайты как «Не защищено» — отдельный маркер в адресной строке. С 2020 года Chrome блокирует mixed content (HTTPS-страница с HTTP-ресурсами) по умолчанию.
К 2024 году более 95% коммерческих сайтов работают на HTTPS. Бесплатные сертификаты от Let’s Encrypt сделали переход на HTTPS доступным для всех — установка занимает 15–30 минут, продление автоматическое. Платные сертификаты с Extended Validation (зелёная полоса с названием компании в адресной строке) актуальны для финансовых и крупных корпоративных сайтов.
HTTP и SEO
Влияние HTTP на SEO работает через несколько каналов:
- HTTPS как фактор ранжирования. С 2014 года Google официально учитывает HTTPS при ранжировании. Сайты на HTTP получают меньше доверия от алгоритма.
- Скорость загрузки. HTTP/2 и HTTP/3 загружают страницы быстрее HTTP/1.1 на 20–60% за счёт мультиплексирования и других оптимизаций. Это улучшает Core Web Vitals — фактор ранжирования с 2021 года.
- Корректные статус-коды. Правильная настройка 301/302/404/410 редиректов и ошибок — основа технического SEO. Неправильные статусы приводят к проблемам с индексацией.
- HTTP-заголовки кеширования. Заголовки Cache-Control, ETag, Last-Modified управляют кешированием на стороне браузера, что снижает нагрузку на сервер и ускоряет повторные посещения.
- Заголовок Vary. Сообщает поисковику, что контент меняется в зависимости от заголовков клиента (язык, устройство). Помогает корректной индексации мультиязычных и адаптивных сайтов.
- HSTS (HTTP Strict Transport Security). Заголовок Strict-Transport-Security принудительно переводит браузер на HTTPS даже при попытке зайти на HTTP-версию. Дополнительная защита и сигнал для поисковика.
- X-Robots-Tag. HTTP-заголовок с инструкциями для роботов (noindex, nofollow). Альтернатива meta robots для не-HTML ресурсов: PDF, изображений, видео.
- HTTP/2 Server Push. Возможность сервера отправить дополнительные ресурсы клиенту до их запроса — ускоряет загрузку. На практике используется редко, в HTTP/3 был исключён из спецификации.
Часто задаваемые вопросы
Чем HTTP отличается от HTTPS?
HTTPS — это HTTP, передаваемый через шифрованное соединение TLS. Технически разницы в самом протоколе нет: те же методы, заголовки, статус-коды. Различие — в транспортном уровне: HTTP идёт открытым текстом по TCP-порту 80, HTTPS — зашифрованным потоком по TCP-порту 443 с дополнительным TLS-handshake перед обменом данными. HTTPS защищает данные от перехвата, HTTP — нет.
Какая версия HTTP лучше для SEO?
HTTP/2 или HTTP/3. Эти версии загружают страницы быстрее HTTP/1.1 за счёт мультиплексирования и параллельной передачи ресурсов. Это улучшает Core Web Vitals (LCP, FCP) — важные факторы ранжирования с 2021 года. Включение HTTP/2 на сервере не требует изменений в коде сайта — настраивается на стороне веб-сервера (Nginx, Apache, LiteSpeed). HTTP/3 даёт дополнительные 5–15% к скорости на мобильных сетях.
Что такое RFC в контексте HTTP?
RFC (Request for Comments) — это документы с техническими спецификациями интернет-протоколов, публикуемые Internet Engineering Task Force (IETF). HTTP описан в нескольких RFC: RFC 1945 (HTTP/1.0, май 1996), RFC 2068 и RFC 2616 (HTTP/1.1, 1997 и 1999), RFC 7230–7235 (обновлённый HTTP/1.1, июнь 2014), RFC 7540 (HTTP/2, май 2015), RFC 9114 (HTTP/3, июнь 2022). RFC доступны бесплатно на сайте rfc-editor.org.
Можно ли использовать только HTTP в 2024 году?
Технически — да, HTTP работает. Практически — нет. С 2018 года Chrome помечает HTTP-сайты как «Не защищено», что снижает доверие посетителей. Поисковики предпочитают HTTPS при прочих равных. Многие современные функции браузеров (геолокация, push-уведомления, Service Workers, доступ к камере) работают только на HTTPS. Использовать HTTP в публичном интернете в 2024 году — техническая ошибка с серьёзными последствиями для SEO и UX.
Что такое HTTP-заголовки?
HTTP-заголовки — это пары «имя: значение», передаваемые в запросе и ответе. Несут метаинформацию: тип содержимого (Content-Type), кодировка, размер (Content-Length), инструкции кеширования (Cache-Control), cookies (Cookie, Set-Cookie), информация о клиенте (User-Agent), язык (Accept-Language). Стандартные HTTP-заголовки описаны в RFC 7231. Полный список — около 100 стандартных заголовков плюс нестандартные с префиксом X-.
Как проверить, какую версию HTTP использует сайт?
Несколько способов. В Chrome DevTools (F12) → вкладка Network → колонка Protocol покажет h2 для HTTP/2, h3 для HTTP/3, http/1.1 для классического. Через командную строку: curl -I --http2 https://site.by или онлайн-сервисы вроде http2.pro и http3check.net. Включение HTTP/2 на стороне сервера — стандартная задача администратора, обычно занимает 10–30 минут.
Влияют ли HTTP-методы на SEO?
Косвенно. Поисковики индексируют только страницы, доступные через GET. Контент, доступный только через POST (формы поиска, фильтры каталога с POST-запросами), не попадает в индекс. Поэтому критичный контент должен быть доступен через GET с уникальными URL. POST используется для отправки данных (формы заявок, регистрация, заказы) — для SEO это нейтрально. Идемпотентность методов (свойство возвращать тот же результат при повторе) важна для корректной работы прокси и CDN.
Что произойдёт, если убрать HTTPS с сайта в 2024 году?
Несколько негативных последствий. Chrome покажет всем посетителям предупреждение «Не защищено». Большинство пользователей не введут пароли и данные карт. Позиции в поисковой выдаче упадут — HTTPS остаётся фактором ранжирования. Браузеры заблокируют ряд современных функций (Service Workers, доступ к камере). Многие платёжные сервисы и API не работают без HTTPS. По факту в 2024 году отказ от HTTPS — это уход с современного интернета.




