Протокол HTTP: зачем нужен и где применяется
HTTP – это особый протокол прикладного уровня гипермедийных файлов, наподобие HTML. Его создали для предоставления связи между браузерами и веб-серверами, но его работа не ограничивается лишь этими окружениями. Его можно использовать не только под передачу гипертекстовых документов, но и для передачи группы изображений/видео, а также для отправки клиентского контента на окружение серверов.
Данный протокол использует традиционную модель «клиент-сервер», на основе которой клиент (в его роли выступает любой веб-браузер) создает запрос, сервер формирует ответ и направляет его обратно клиенту в форме данных, которые в итоге отображаются в веб-браузере.
Также стоит отметить тот факт, что клиент и сервер не могут хранить информацию о предыдущих запросах. Это значит, что каждый отдельный запрос содержит конкретный блок данных.
Между сервером и клиентом есть множество сущностей, которые именуются proxy. В их возможности входит огромное количество операций системного характера. Также они выступают в качестве специальных кэшей и шлюзов:
Client ⇄ Proxy ⇄ Proxy ⇄ Server
Веб-браузер всегда выступает инициатором создания запроса. Дабы заданная веб-страница показывалась на сайте, он выполняет отправку запроса на получение HTML-структуры.
Потом происходит анализ файла, выполняя дополнительные запросы, которые должны соответствовать сценариям выполнения. Затем веб-браузер выполняет процесс компоновки полученных ресурсов и показывает пользователю целостный документ.
Скрипты, которые выполняются браузером, могут при необходимости извлекать массу ресурсов на более поздних стадиях. Поэтому выполняется обновление текущей веб-страницы.
На другой стороне канала связи расположен сервер, в задачи которого входит процесс обработки документов по запросу клиента (в нашем случае – браузера). Виртуально сервер можно представить как одну машину. Но на самом деле, это может быть целый набор серверов, которые попеременно делят нагрузку между собой, частично или полностью выполняя процесс генерации документов по пользовательскому запросу.
Как правильно протестировать HTTP?
На сегодняшний день масса компаний по всему миру перешли на использование микросервисов внутри применяемых приложений. Это означает, что ПО состоит из разнообразных секций, у которых есть собственные хранилища данных, и применяет разные команды для выстраивания взаимодействия с ними.
Множество микросервисов применяют API, а API, в свою очередь, использует REST / SOAP-запросы. Именно их и нужно проверять прежде всего.
Техническая разница между ними состоит в том, что SOAP – своего рода группа протоколов и стандартов, которые функционируют с операциями, а REST – особый системный стиль, работающий с ресурсами систем. Дополнительно стоит отметить, что REST является популярным и наиболее свободным в плане использования архитектурным стилем.
Подобные запросы проверяются как мануально, так и на автоматизированной основе. Автоматизированные проверки очень часто используют для проверки больших и сложных с функциональной точки зрения систем.
Для тестирования REST-запросов чаще всего используют Swagger и Postman, для SOAP-запросов – SoapUI. А для передачи данных, как правило, используются два формата – <xml /> и JSON.
В завершение стоит отметить, что HTTP представляет собой расширяемый протокол, который очень прост в использовании. С помощью API можно выполнить массу тестов, которые не всегда получается проверить посредством пользовательского интерфейса.
Данную стратегию рекомендуется использовать как для поиска недостатков внешнего дизайна, так и для верифицирования уровня безопасности всего продукта.
Оставить комментарий