автор Малаховская Екатерина
Протоколы передачи данных
Если вы только начинаете свой путь в тестировании веб-приложений, вам, вероятно, приходилось слышать термины HTTP и HTTPS. Или вы, наверное, встречали такую аббревиатуру, как TCP/IP.
В этой статье мы разберемся, в чем разница между различными протоколами передачи данных и как они взаимодействуют.
HTTP (HyperText Transfer Protocol)

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

1. Запросы и Ответы. Когда вы вводите URL в адресную строку браузера и нажимаете Enter, ваш браузер отправляет HTTP-запрос на сервер, запрашивая определенную веб-страницу или ресурс. Сервер обрабатывает этот запрос и отправляет обратно HTTP-ответ, содержащий запрошенную информацию.

2. Методы HTTP. HTTP-запросы могут использовать различные методы для обозначения типа действия, которое должен выполнить сервер. Например, метод GET используется для запроса содержимого страницы, а метод POST - для отправки данных на сервер, например, при отправке формы.

3. Безопасность. Однако, HTTP не обеспечивает шифрование данных, передаваемых между клиентом и сервером, что делает его небезопасным для передачи конфиденциальной информации, такой как пароли или данные кредитных карт.
HTTPS (HyperText Transfer Protocol Secure)

HTTPS - это защищенная версия протокола HTTP, которая использует дополнительное шифрование для обеспечения безопасности передачи данных. Основное отличие от HTTP состоит в использовании SSL (Secure Sockets Layer) или его последующей версии TLS (Transport Layer Security) для шифрования данных.
Я люблю объяснять принцип работы передачи данных на примере ресторана. Представьте, что вы - посетитель ресторана, т.е. клиент. Есть официант - это запрос. И есть повар - это сервер. Вы заказываете суп, т.е. передаете ваш запрос официанту. Официант в свою очередь идет на кухню к повару и передает ему ваш заказ (т.е. официант передает ваш запрос на сервер). Повар обрабатывает ваш заказ, анализируя его и проверяя наличие всех необходимых ингредиентов. Если все в порядке, повар готовит суп и возвращает его официанту. Официант, в свою очередь, доставляет вам ваш заказ. По аналогии, вы получаете ответ на свой запрос (суп) от сервера (повара), который также может содержать дополнительные данные, помимо запрошенных.

TCP/IP

Протоколы TCP/IP - это семейство протоколов, которые управляют коммуникацией в сети Интернет. Они включают в себя TCP (Transmission Control Protocol) и IP (Internet Protocol). Вот как они работают вместе:

IP протокол отвечает за маршрутизацию данных в сети, идентифицируя каждое устройство по уникальному IP-адресу. Он определяет правила, согласно которым данные передаются от одного узла к другому через сеть.

TCP - это протокол управления передачей, который обеспечивает надежную доставку данных путем установления соединения между отправителем и получателем. Он разбивает данные на пакеты, управляет порядком их передачи и обнаруживает и исправляет ошибки в передаче.

Протоколы работают вместе

Долгое время моделью, отвечающей за установку открытой связи между клиентом и сервером, являлась Open Systems Interface (OSI), установившая семь уровней протоколов (физический, транспортный, сетевой и т. д.). Она не считалась сетевой архитектурой, так как просто задавала входные и выходные данные для каждого уровня. Поскольку современные протоколы научились работать сразу на нескольких уровнях модели OSI, её на смену пришла новая четырёхуровневая модель: TCP/IP.

Новая модель, как видно из названия, объединяет два основных протокола: TCP и IP. Все новые сетевые протоколы разрабатываются на базе этой модели. Например, заходя на большинство сайтов, вы используете протоколы IP, TCP и HTTPS.
Другие популярные протоколы
FTP (File Transfer Protocol). Протокол передачи файлов, используемый для обмена файлами между клиентом и сервером в сети. Он позволяет пользователям загружать, скачивать, удалять и перемещать файлы на удаленный сервер. FTP обеспечивает простой и надежный способ передачи файлов в Интернете. На текущий момент этим протоколом пользуются при удалённом доступе к хостингам.

UDP (User Datagram Protocol). Представляет собой протокол передачи данных, не требующий предварительной установки соединения между хостами. Он быстрый, но часто теряет пакеты данных во время доставки. Основное преимущество UDP протокола заключается в скорости доставки данных. Именно поэтому чувствительные к сетевым задержкам приложения часто используют этот тип передачи данных.

DNS (Domain Name System). Это система, используемая для преобразования доменных имен в IP-адреса и наоборот. DNS играет ключевую роль в работе Интернета, позволяя пользователям использовать удобные для запоминания доменные имена вместо числовых IP-адресов для доступа к веб-сайтам и другим ресурсам в Интернете. Т.е. вы в URL пишете google.com, а не 120.0.0.1 (IP адрес сайта).

NTP (Network Time Protocol). Это протокол сетевого времени, используемый для синхронизации времени между компьютерами в сети. Он обеспечивает точную синхронизацию времени, что необходимо для сетевых операций и приложений, требующих согласованного времени.

SSH (Secure Shell). Протокол для удалённого управления операционной системой с использованием TCP. В SSH шифруется весь трафик, причём с возможностью выбора алгоритма шифрования. В основном это нужно для передачи паролей и другой важной информации. Он обеспечивает безопасную передачу данных, аутентификацию пользователей и защиту от атак.

Роль тестировщика в работе протоколов

Роль тестировщика в работе с протоколами заключается в обеспечении их корректной работы и соответствия стандартам безопасности и производительности. Тестировщик должен проверить, что протоколы правильно реализованы в приложениях и что они обеспечивают надежную передачу данных, защиту от угроз и соответствие требованиям пользователей и бизнеса. Это включает в себя проведение функционального тестирования, проверку безопасности, нагрузочное тестирование и тестирование совместимости с другими системами и протоколами.
Хотите узнать больше о тестировании и не только - приходи на наш курс В тестировщики с нуля!
В тестировщики с нуля
  • 320$
    Lite
    Включает в себя:
    - Пакет В тестировщики с нуля
    - Интенсив по GIT
    - 1 месяц стажировки
  • 400$
    Medium
    Включает в себя:
    - Пакет В тестировщики с нуля
    - Интенсив по GIT
    - Доступ к вебинарам
    - 2 месяца стажировки
  • 540$
    Maximum
    Включает в себя:
    - Пакет В тестировщики с нуля
    - Интенсив по GIT
    - Доступ к вебинарам
    - Курс Тестирование API
    - 4 месяца стажировки
Учимся отличать тест-план, тест-кейсы и чек-листы на примерах.
Полезные ресурсы и советы для поиска работы
Выпускник школы QaLearning рассказывает про свой путь обучения, поиска работы и прохождения собеседований. Вы получите много дельных советов!