Понимание протокола очень важно, чтобы получить хорошее представление о тестировании безопасности. Вы сможете оценить важность протокола, когда мы перехватываем пакетные данные между веб-сервером и клиентом.

Протокол HTTP

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

В основном, HTTP - это протокол связи на основе протокола TCP / IP, который используется для доставки данных, таких как файлы HTML, файлы изображений, результаты запросов и т. д. Через Интернет. Он обеспечивает стандартизированный способ взаимодействия компьютеров друг с другом. Спецификация HTTP указывает, как запросы клиентов запрашиваются на сервер и как серверы отвечают на эти запросы.

Основные характеристики

Существуют три основные функции, которые делают HTTP простым, но мощным протоколом -

  • HTTP без установления соединения - клиент HTTP, т. Е. Браузер инициирует HTTP-запрос. После запроса клиент отключается от сервера и ждет ответа. Сервер обрабатывает запрос и повторно устанавливает соединение с клиентом для отправки ответа.
  • HTTP не зависит от носителя. Любой тип данных может быть отправлен по протоколу HTTP до тех пор, пока как клиент, так и сервер знают, как обрабатывать содержимое данных. Это необходимо как для клиента, так и для сервера, чтобы указать тип содержимого с использованием соответствующего типа MIME.
  • HTTP является безстоящим - HTTP является без установления соединения, и это прямой результат, что HTTP - это протокол без учета состояния. Сервер и клиент знают друг о друге только во время текущего запроса. Впоследствии оба они забывают друг о друге. Из-за такого характера протокола ни клиент, ни браузер не могут сохранять информацию между различными запросами через веб-страницы.

HTTP / 1.0 использует новое соединение для каждого обмена сообщениями / ответами, тогда как соединение HTTP / 1.1 может использоваться для одного или нескольких обменов запросов / ответов.

Архитектура

Протокол HTTP - это протокол запроса / ответа, основанный на архитектуре клиент / сервер, где веб-браузер, роботы и поисковые системы и т. Д. Действуют как HTTP-клиенты, а веб-сервер действует как сервер.

  • Клиент. Клиент HTTP отправляет запрос на сервер в виде метода запроса, URI и версии протокола, за которым следует MIME-подобное сообщение, содержащее модификаторы запроса, информацию о клиенте и возможное содержимое тела по TCP / IP-соединению.
  • Сервер . HTTP-сервер отвечает линией состояния, включая версию протокола сообщения и код успеха или ошибки, за которым следует сообщение, подобное MIME, содержащее информацию о сервере, метаинформацию объекта и возможное содержимое объекта.

HTTP - Недостатки

  • HTTP не является полностью защищенным протоколом.
  • HTTP использует порт 80 как порт по умолчанию для связи.
  • HTTP работает на уровне приложения. Ему необходимо создать несколько соединений для передачи данных, что увеличивает административные накладные расходы.
  • Для использования HTTP не требуется шифрование / цифровые сертификаты.