HTTP - HyperText Transfer Protocol, а именно протокол отправки гипертекста, то есть документа, содержащего ссылки. Спецификация OSI относит HTTP к протоколам прикладного уровня. Передача данных имеет клиент-серверную структуру. Краткая последовательность действий: 1. Формирование запроса клиентским приложением, например, браузером. 2. Отправка запроса на нужный сервер. 3. Программное обеспечение (ПО) сервера обрабатывает информацию. 4. Формирование ответа и передача клиенту. 5. Отправка других запросов приложением клиента. 6. Аналогичная обработка информации. Задача HTTP – обмен данными между пользователем (посредством веб-браузера или другого приложения) и сервером. Возможно использование этого протокола в качестве «транспорта», передающего информацию для иных протоколов прикладного уровня, например, SOAP, XML-RPC. Отправка запросов Для отправки и создания запросов часто используется браузер, но возможно применение и других приложений. Последовательность действий со стороны браузера: 1. Пользователь вводит в стартовую строку нужный адрес сайта, а браузер использует для подключения к серверу этого сайта специальные утилиты, например, telnet или nc. 2. Браузер создает http-запрос. Добавляет обязательный заголовок Host, служащий для получения сервером адреса, с которого осуществляется запрос и, соответственно, отправки ответа. 3. При создании запроса учитывается версия протокола. Она указывается в виде чисел, разделенных точкой. Последний вариант HTTP 1.1. В процессе добавляется знак «/», указывающий путь к ресурсу. Пример запроса: echo -en "GET / HTTP/1.1\r\nHost: yandex.ru\r\n\r\n" | ncat yandex.ru 80.
Получение ответа
При получении ответа создается стартовая строка, включающая в себя протокол, его версию, код состояния и пояснение: HTTP/1.1 200 OK. Код пояснения — три цифры, обозначающие результат обработки запроса. Например, если сервер предоставил информацию по указанному запросу, присутствует число 200, если веб-адреса не существует — 404, когда у клиента нет возможности получения доступа к нужному сайту — 403. Протокол HTTP 1.1 определяет 40 разных кодов и допускает расширение списка. Пояснение к коду состояния представлено в виде текста, что позволяет человеку легко понимать ответ. После него следуют заголовки в датой и временем получения ответа, информацией о сервере и др. Через 2 пробела от последней строки находится тело ответа. Все эти действия проводит браузер, а варианты запросов и ответов различны и обозначаются соответствующими символами в зависимости от ситуации. Протокол HTTP не используется шифрование данных для безопасности. Дополнительное расширение HTTPS обеспечивает данные от перехвата и атак вида man-in-the-middle.
Комментарии: 0
Пока нет комментариев, ваш комментарий будет первым!