Протокол передачи гипертекста представляет собой стандарт сетевого протокола, который веб-браузеры и серверы используют для связи. Вы видите HTTP при посещении веб-сайта, потому что протокол указан в URL-адресе (например, Этот протокол похож на другие, такие как протокол передачи файлов, тем, что он используется клиентской программой для запроса файлов с удаленного сервера. В случае HTTP веб-браузер запрашивает HTML-файлы с веб-сервера, которые затем отображаются в браузере с текстом, изображениями, гиперссылками и соответствующими активами.
Поскольку браузеры взаимодействуют с помощью HTTP, вы обычно можете удалить протокол из URL-адреса, когда вводите его в адресную строку браузера.
История
Тим Бернерс-Ли создал первоначальный стандарт 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 - это протокол прикладного уровня, построенный поверх 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. Ошибки начинаются с определенного числа, указывающего, что это за ошибка.
Например, ошибки с кодом ошибки, начинающимся с цифры четыре, указывают на то, что запрос страницы не может быть выполнен правильно или что запрос содержит неправильный синтаксис. Например, ошибка 404 означает, что веб-страница не может быть найдена; некоторые веб-сайты даже предлагают забавные пользовательские страницы ошибок 404.