Понимание протокола очень важно, чтобы получить хорошее представление о тестировании безопасности. Вы сможете оценить важность протокола, когда мы перехватываем пакетные данные между веб-сервером и клиентом.
Протокол HTTP
Протокол передачи гипертекста (HTTP) — это протокол прикладного уровня для распределенных, совместных, гипермедиа информационных систем. Это основа для передачи данных для Всемирной паутины с 1990 года. HTTP — это общий протокол без протокола состояния, который можно использовать для других целей, а также с использованием расширения его методов запроса, кодов ошибок и заголовков.
По сути, HTTP — это протокол связи на основе TCP / IP, который используется для доставки таких данных, как файлы HTML, файлы изображений, результаты запросов и т. Д. Через Интернет. Он обеспечивает стандартизированный способ связи компьютеров друг с другом. Спецификация HTTP определяет, как запрашиваемые данные клиентов отправляются на сервер, и как серверы отвечают на эти запросы.
Основные характеристики
Существует три основных функции, которые делают HTTP простым, но мощным протоколом.
-
HTTP без установления соединения — HTTP-клиент, т. Е. Браузер инициирует HTTP-запрос. После выполнения запроса клиент отключается от сервера и ожидает ответа. Сервер обрабатывает запрос и повторно устанавливает соединение с клиентом для отправки ответа обратно.
-
HTTP не зависит от носителя — данные любого типа могут отправляться по протоколу HTTP, если и клиент, и сервер знают, как обрабатывать содержимое данных. Это необходимо как для клиента, так и для сервера, чтобы указать тип контента, используя соответствующий MIME-тип.
-
HTTP — без сохранения состояния — HTTP без установления соединения, и это является прямым результатом того, что HTTP является протоколом без сохранения состояния. Сервер и клиент знают друг друга только во время текущего запроса. После этого они оба забывают друг о друге. Из-за этой природы протокола ни клиент, ни браузер не могут сохранять информацию между различными запросами на веб-страницах.
HTTP без установления соединения — HTTP-клиент, т. Е. Браузер инициирует HTTP-запрос. После выполнения запроса клиент отключается от сервера и ожидает ответа. Сервер обрабатывает запрос и повторно устанавливает соединение с клиентом для отправки ответа обратно.
HTTP не зависит от носителя — данные любого типа могут отправляться по протоколу HTTP, если и клиент, и сервер знают, как обрабатывать содержимое данных. Это необходимо как для клиента, так и для сервера, чтобы указать тип контента, используя соответствующий MIME-тип.
HTTP — без сохранения состояния — HTTP без установления соединения, и это является прямым результатом того, что HTTP является протоколом без сохранения состояния. Сервер и клиент знают друг друга только во время текущего запроса. После этого они оба забывают друг о друге. Из-за этой природы протокола ни клиент, ни браузер не могут сохранять информацию между различными запросами на веб-страницах.
HTTP / 1.0 использует новое соединение для каждого обмена запросами / ответами, тогда как соединение HTTP / 1.1 может использоваться для одного или нескольких обменов запросами / ответами.
Архитектура
Следующая диаграмма показывает очень простую архитектуру веб-приложения и показывает, где находится HTTP —
Протокол HTTP — это протокол запроса / ответа, основанный на архитектуре клиент / сервер, где веб-браузер, роботы, поисковые системы и т. Д. Действуют как клиенты HTTP, а веб-сервер выступает в качестве сервера.
-
Клиент — клиент HTTP отправляет запрос на сервер в форме метода запроса, URI и версии протокола, после чего следует сообщение, подобное MIME, содержащее модификаторы запроса, информацию о клиенте и возможный контент тела через соединение TCP / IP.
-
Сервер — HTTP-сервер отвечает строкой состояния, включая версию протокола сообщения и код успеха или ошибки, за которым следует MIME-подобное сообщение, содержащее информацию о сервере, метаинформацию объекта и возможное содержимое тела объекта.
Клиент — клиент HTTP отправляет запрос на сервер в форме метода запроса, URI и версии протокола, после чего следует сообщение, подобное MIME, содержащее модификаторы запроса, информацию о клиенте и возможный контент тела через соединение TCP / IP.
Сервер — HTTP-сервер отвечает строкой состояния, включая версию протокола сообщения и код успеха или ошибки, за которым следует MIME-подобное сообщение, содержащее информацию о сервере, метаинформацию объекта и возможное содержимое тела объекта.
HTTP — недостатки
-
HTTP не является полностью защищенным протоколом.
-
HTTP использует порт 80 в качестве порта по умолчанию для связи.
-
HTTP работает на уровне приложения. Для передачи данных необходимо создать несколько соединений, что увеличивает накладные расходы на администрирование.
-
Для использования HTTP не требуется шифрование / цифровые сертификаты.
HTTP не является полностью защищенным протоколом.
HTTP использует порт 80 в качестве порта по умолчанию для связи.
HTTP работает на уровне приложения. Для передачи данных необходимо создать несколько соединений, что увеличивает накладные расходы на администрирование.
Для использования HTTP не требуется шифрование / цифровые сертификаты.
Протокол Http Подробности
Чтобы понять HTTP-протокол, нажмите на каждую из приведенных ниже ссылок.