Всем привет, уважаемые читатели! Протокол передачи гипертекста (HTTP) является основой всемирной паутины и используется для загрузки веб-страниц с помощью гипертекстовых ссылок.

Типичный поток через HTTP включает клиентский компьютер, выполняющий запрос к серверу, который затем отправляет ответное сообщение. В нашем сегодняшнем выпуске мы с вами более подробно постараемся рассмотреть, что такое http.

Что такое http?

HTTP — это протокол прикладного уровня, предназначенный для передачи информации между сетевыми устройствами и работающий поверх других слоев стека сетевых протоколов. HTTP-запрос — это способ, которым платформы интернет-коммуникаций, такие как веб-браузеры, запрашивают информацию, необходимую для загрузки веб-сайта. Причем каждый запрос HTTP, сделанный через интернет, несет с собой ряд закодированных данных, которые хранят различные типы информации. Типичный HTTP-запрос содержит:

— Тип версии HTTP;

—  URL-адрес;

—  Метод http;

—  Заголовки HTTP-запроса;

—  Необязательное тело HTTP.

Что такое метод HTTP?

Метод HTTP, иногда называемый командой HTTP, указывает действие, которое ожидает запрос HTTP от запрашиваемого сервера. Например, два из наиболее распространенных методов HTTP – «GET» и «POST». Запрос «GET» отправляет информацию клиенту (обычно в виде веб-сайта), в то время как запрос «POST» обычно указывает, что клиент отправляет информацию на веб-сервер (информацию в форме, например, отправленное имя пользователя и пароль).

Что такое заголовки HTTP-запросов?

Заголовки HTTP содержат текстовую информацию, хранящуюся в парах ключ-значение, и они включаются в каждый запрос HTTP (и ответ, подробнее об этом позже). Эти заголовки передают основную информацию, например, какой браузер использует клиент, какие данные запрашиваются.

Что находится в теле HTTP-запроса?

Тело запроса — это часть, которая содержит «середину» информации, которую передает запрос. Тело HTTP-запроса содержит любую информацию, отправляемую на веб-сервер, такую как имя пользователя и пароль, или любые другие данные, введенные в форму.

Что содержится в HTTP-ответах?

HTTP-ответ — это то, что веб-клиенты (часто браузеры) получают от интернет-сервера в ответ на HTTP-запрос. Эти ответы передают ценную информацию на основе того, что было запрошено в HTTP-запросе.

Типичный ответ HTTP содержит:

—  код состояния HTTP;

—  заголовки ответов HTTP;

—  тело HTTP.

Что такое код состояния HTTP? 

Коды состояния HTTP — это 3-значные коды, которые чаще всего используются для указания того, был ли запрос HTTP успешно выполнен. Коды состояния разбиты на следующие 5 блоков:

1xx информация;

2xx успех;

3xx перенаправление;

Ошибка клиента 4xx;

5xx ошибка сервера.

«Xx» относится к различным числам между 00 и 99.

Коды состояния, начинающиеся с цифры «2», указывают на успех. Например, после того, как клиент запрашивает веб-страницу, наиболее часто встречающиеся ответы имеют код состояния «200 OK», указывающий, что запрос был должным образом завершен.

Если ответ начинается с «4» или «5», это означает, что произошла ошибка и страница не будет отображаться. Код состояния, который начинается с «4», указывает на ошибку на стороне клиента (очень часто встречается код состояния «404 не найден» при совершении опечатки в URL-адресе). Код состояния, начинающиеся на «5» означают, что что-то пошло не так на стороне сервера. Коды состояния могут также начинаться с «1» или «3», которые указывают на информационный ответ и перенаправление, соответственно.

Что такое заголовки ответов HTTP?

Подобно HTTP-запросу, HTTP-ответ поставляется с заголовками, которые передают важную информацию, такую как язык и формат данных, отправляемых в теле ответа. Успешные HTTP-ответы на запросы GET обычно имеют тело, содержащее запрошенную информацию. В большинстве веб-запросов это HTML-данные, которые веб-браузер преобразует в веб-страницу.

Можно ли запускать DDoS-атаки через HTTP? 

HTTP является протоколом без отслеживания состояния, что означает, что каждая команда выполняется независимо от любой другой команды. В исходной спецификации HTTP-запросы создавали и закрывали TCP-подключения. В более новых версиях протокола HTTP (HTTP 1.1 и выше) постоянное соединение позволяет нескольким http-запросам проходить через постоянное TCP-соединение, что улучшает потребление ресурсов. В контексте DoS-или DDoS-атак HTTP-запросы в больших количествах могут использоваться для подключения атаки на целевое устройство и считаются частью атак уровня приложений или атак уровня 7.