Протокол передачи гипертекста предоставляет стандарт сетевого протокола, который веб-браузеры и серверы используют для связи. Вы видите HTTP каждый день, потому что при посещении веб-сайта протокол записывается прямо в URL (например, http://www.lifewire.com).
Этот протокол похож на другие, такие как протокол передачи файлов, в том, что он используется клиентской программой для запроса файлов с удаленного сервера. В случае HTTP это обычно веб-браузер, который запрашивает HTML-файлы с веб-сервера, которые затем отображаются в браузере с текстом, изображениями, гиперссылками и связанными ресурсами.
Поскольку браузеры по умолчанию обмениваются данными по протоколу HTTP, вы обычно можете удалить протокол из URL-адреса при вводе его в адресную строку браузера.
История HTTP
Тим Бернерс-Ли создал первоначальный стандарт HTTP в начале 1990-х годов в рамках своей работы по определению первоначальной Всемирной паутины. Три основные версии были широко распространены в течение 1990-х годов:
- HTTP 0,9: Поддержка базовых гипертекстовых документов
- HTTP 1.0: Расширения для поддержки богатых сайтов
- HTTP 1.1: Разработано для устранения ограничений производительности HTTP 1.0, указанных в Internet RFC 2068
Последняя версия, HTTP 2.0, стала утвержденным стандартом в 2015 году. Она поддерживает обратную совместимость с HTTP 1.1, но предлагает дополнительные улучшения производительности.
Хотя стандартный HTTP не шифрует трафик, отправляемый по сети, стандарт HTTPS добавляет шифрование к HTTP с помощью Secure Sockets Layer или, позже, Transport Layer Security.
Как работает HTTP
HTTP — это протокол прикладного уровня, построенный поверх TCP и использующий модель взаимодействия клиент-сервер. HTTP-клиенты и серверы обмениваются сообщениями с запросами и ответами. Три основных типа сообщений HTTP — это GET, POST и HEAD.
- HTTP GET — Сообщения, отправленные на сервер, содержат только URL. Нулевой или более необязательных параметров данных могут быть добавлены в конце URL. Сервер обрабатывает необязательную часть данных URL-адреса, если она присутствует, и возвращает результат (веб-страница или элемент веб-страницы) в браузер.
- HTTP POST — сообщения помещают любые необязательные параметры данных в тело сообщения запроса, а не добавляют их в конец URL-адреса.
- HTTP HEAD — запросы работают так же, как запросы GET. Вместо ответа с полным содержанием URL-адреса сервер отправляет обратно только информацию заголовка (содержащуюся в разделе HTML).
Браузер инициирует связь с HTTP-сервером, инициируя TCP-соединение с сервером. Сеансы просмотра веб-страниц используют порт сервера 80 по умолчанию, хотя иногда используются другие порты, такие как 8080.
После установления сеанса вы инициируете отправку и получение HTTP-сообщений, посещая веб-страницу.
HTTP — это система без сохранения состояния. Это означает, что в отличие от других протоколов передачи файлов, таких как FTP, HTTP-соединение прерывается после завершения запроса. Итак, после того как ваш веб-браузер отправит запрос и сервер ответит страницей, соединение закрывается.
Устранение неполадок HTTP
Сообщения, передаваемые по HTTP, терпят неудачу по нескольким причинам:
- Ошибка пользователя
- Неисправность веб-браузера или веб-сервера
- Ошибки при создании веб-страниц
- Временные глюки сети
Когда происходят эти сбои, протокол фиксирует причину сбоя и сообщает код ошибки обратно в браузер, который называется строкой / кодом статуса HTTP. Ошибки начинаются с определенного числа, чтобы указать, что это за ошибка.
Например, ошибки с кодом ошибки, начинающимся с четырех, указывают на то, что запрос на страницу не может быть выполнен должным образом или что запрос содержит неверный синтаксис. Например, ошибка 404 означает, что страница не может быть найдена; некоторые сайты даже предлагают забавные пользовательские страницы ошибок 404.