Копаем глубже! Часть 1: как работают HTTP-запросы |
01.06.2020 00:00 |
Автор: Кристин Джеквони (Kristin Jackvony) Недавно постоянный читатель моего блога показал мне отличную статью о важности технических навыков для тестировщика. Автор проводит прекрасную аналогию: тестировщик, не разбирающийся в технических концепциях, похож на хирурга, не знающего анатомию. Если мы планируем тщательно тестировать наши приложения, то должны понимать базовые системы, заставляющие их работать. Я смело признаюсь, что не эксперт в сетях и в том, как работает Интернет, однако я хочу учиться и передавать эту информацию вам! Итак, копнем глубже! Начнем с того, как работают HTTP-запросы. Когда вы вводите адрес вебсайте в браузере, вы вводите URL. URL (Uniform Resource Locator) – это просто броское имя для веб-адреса. URL содержит доменное имя. Доменное имя идентифицирует определенную группу серверов в Интернете. Примеры доменных имен – это google.com или amazon.com. Когда браузер получил доменное имя, он использует его для поиска соответствующего IP-адреса в DNS (системе доменных имен). Это база данных, которая содержит все соответствия доменных имен и IP-адресов. IP-адрес (адрес интернет-протокола) – это уникальный набор цифр, который присваивается всем подключенным к Интернету устройствам. Когда IP-адрес известен, к нему открывается соединение при помощи HTTP. HTTP (Гипертекстовый протокол передачи данных) – это прикладной протокол, позволяющий электронную передачу информации. Когда соединение с сервером, находящимся по нужному IP-адресу, открыто, может быть выполнен запрос на получение информации от этого сервера. Информация, отправляемая через Интернет, называется "сообщением". Запрос использует TCP (протокол управления передачей данных) – это система передачи сообщений через Интернет. TCP делит сообщение на серии пакетов – это фрагменты в 1000-3000 символов. Каждый пакет имеет несколько заголовков, содержащих информацию об адресе назначения пакета, порядке следования пакетов, и прочие важные вещи. Если пакет по какой-то причине не достиг точки назначения, то клиент (адрес, с которого уходил запрос) может запросить повторную отправку пакета. Когда все пакеты достигли цели, клиент пересобирает их в соответствии с инструкциями в заголовке. Не секрет, что информация, переданная через интернет, уязвима в плане безопасности. Злоумышленник может перехватить HTTP-запросы и извлечь из них важную информацию, или же изменить эти запросы, чтобы они вернули эту информацию в ответе. Поэтому данные, отправленные через Интернет, часто зашифрованы или защищены. Мы подробнее поговорим об этом в следующий раз, когда будем обсуждать шифрование, токены и временные файлы. |