HTTP: протокол, который заставляет интернет работать

Протокол передачи гипертекста предоставляет стандарт сетевого протокола, который веб-браузеры и серверы используют для связи. Вы видите 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 GET.

Браузер инициирует связь с HTTP-сервером, инициируя TCP-соединение с сервером. Сеансы просмотра веб-страниц используют порт сервера 80 по умолчанию, хотя иногда используются другие порты, такие как 8080.

После установления сеанса вы инициируете отправку и получение HTTP-сообщений, посещая веб-страницу.

HTTP — это система без сохранения состояния. Это означает, что в отличие от других протоколов передачи файлов, таких как FTP, HTTP-соединение прерывается после завершения запроса. Итак, после того как ваш веб-браузер отправит запрос и сервер ответит страницей, соединение закрывается.

Устранение неполадок HTTP

Сообщения, передаваемые по HTTP, терпят неудачу по нескольким причинам:

  • Ошибка пользователя
  • Неисправность веб-браузера или веб-сервера
  • Ошибки при создании веб-страниц
  • Временные глюки сети

Когда происходят эти сбои, протокол фиксирует причину сбоя и сообщает код ошибки обратно в браузер, который называется строкой / кодом статуса HTTP. Ошибки начинаются с определенного числа, чтобы указать, что это за ошибка.

Например, ошибки с кодом ошибки, начинающимся с четырех, указывают на то, что запрос на страницу не может быть выполнен должным образом или что запрос содержит неверный синтаксис. Например, ошибка 404 означает, что страница не может быть найдена; некоторые сайты даже предлагают забавные пользовательские страницы ошибок 404.

Ссылка на основную публикацию