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