Архив рубрики: Публикации

Как использовать Vagrant с Libvirt в Linux

В этом руководстве мы рассмотрим, как использовать Vagrant с Libvirt в Linux. Vagrant — это программное обеспечение с открытым исходным кодом, написанное на Ruby, чтобы помочь вам создавать и поддерживать портативные виртуальные среды разработки программного обеспечения, например для VirtualBox, Hyper-V, контейнеров Docker, VMware, Libvirt и AWS. Vagrant упрощает создание, остановку и уничтожение виртуальных машин.

Самым популярным вариантом использования на локальных машинах является использование провайдера VirtualBox. Если вы являетесь пользователем KVM и QEMU, эта статья для вас. KVM, как известно, имеет лучшую производительность и меньшее использование ресурсов по сравнению с Virtualbox. Читать

Как использовать модуль Decimal в Python

В этой статье будет рассмотрена статья по использованию модуля Decimal в Python. Его можно использовать для выполнения различных математических операций с числами с плавающей запятой или числами, содержащими десятичные точки. Все примеры кода в этой статье протестированы с Python 3.9.5 в Ubuntu 21.04.

 

О десятичном модуле

Десятичный модуль, как следует из названия, может использоваться для обработки чисел с десятичной запятой или чисел с плавающей запятой. Методы, включенные в этот модуль, помогают округлять десятичные числа, преобразовывать числа и выполнять арифметические вычисления. Он также уделяет большое внимание точности и точности, и каждое число после десятичной точки считается значимым. Десятичный модуль рассматривает такое число, как 1,40, как 1,40, а не как 1,4. Использование десятичного модуля можно лучше понять на примерах. Некоторые из них описаны ниже.

 

Выполнение основных математических вычислений с использованием десятичного модуля

Вы можете вызвать модуль Decimal для преобразования числа в десятичный тип в Python. В приведенном ниже примере кода показана разница между основным математическим делением чисел целочисленного типа и числами десятичного типа.

from decimal import Decimal



a = 10

b = 11

c = a / b

d = Decimal(a) / Decimal(b)

print (c, type(c))

print (d, type(d))

 

Первый оператор импортирует класс Decimal из модуля decimal. Затем создаются две переменные «a» и «b» с некоторыми значениями. Переменная «c» хранит значение, полученное путем деления переменной a на b. Затем тот же процесс повторяется путем преобразования чисел в объекты десятичного типа. После выполнения приведенного выше примера кода вы должны получить следующий результат:

0.9090909090909091 <class 'float'>

0.9090909090909090909090909091 <class 'decimal.Decimal'>

Как вы можете видеть в выходных данных выше, объект типа float показывает числа с меньшей точностью, чем объект типа decimal, поскольку он использует гораздо более агрессивный метод аппроксимации, чем объект типа decimal. По умолчанию число десятичного типа в Python показывает до 28 чисел. Вы можете изменить это значение в соответствии с вашими потребностями, вызвав метод getcontext, доступный в модуле decimal.

from decimal import Decimal

from decimal import getcontext



getcontext().prec = 50

a = 10

b = 11

c = a / b

d = Decimal(a) / Decimal(b)

print (c, type(c))

print (d, type(d))

В приведенном выше примере кода функция getcontext была импортирована, а точное положение было установлено до 50 позиций. Метод getcontext можно использовать для просмотра текущего контекста в потоке и изменения некоторых параметров конфигурации по умолчанию для десятичного модуля. После выполнения приведенного выше примера кода вы должны получить следующий результат:

0.9090909090909091 <class 'float'>

0.90909090909090909090909090909090909090909090909091 <class 'decimal.Decimal'>

Вы можете выполнять любой тип арифметических вычислений с объектами десятичного типа, которые вы можете выполнять с объектами типа float в Python. Большое количество конечных десятичных чисел в объектах десятичного типа может дать очень точные числа, которые особенно полезны в финансовых, бухгалтерских, критически важных научных приложениях и т. д.

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

 

Округление чисел с помощью десятичного модуля

Модуль decimal поставляется с некоторыми предопределенными режимами округления, которые можно использовать для округления чисел с десятичными точками. Эти режимы называются ROUND_FLOOR, ROUND_CEILING, ROUND_HALF_DOWN, ROUND_HALF_UP, ROUND_UP, ROUND_DOWN, ROUND_HALF_EVEN и ROUND_05UP. Согласно официальной документации Python, вот что делает каждый из этих режимов:

  • ROUND_FLOOR: число округляется до отрицательной бесконечности.
  • ROUND_CEILING: число округляется до бесконечности или положительной бесконечности.
  • ROUND_HALF_DOWN: числа округляются до ближайшего числа. Если есть ничья, число округляется до нуля. Связи — это равноотстоящие числа, которые можно округлять как в большую, так и в меньшую сторону. Например, такое число, как 4,25, можно округлить как в сторону 4,2, так и 4,3.
  • ROUND_HALF_UP: числа округляются до ближайшего числа. Если есть ничья, число округляется от нуля.
  • ROUND_UP: число округляется от нуля.
  • ROUND_DOWN: число округляется до нуля.
  • ROUND_HALF_EVEN: числа округляются до ближайшего числа. Любые связи округляются до ближайшего четного целого числа.
  • ROUND_05UP: числа округляются от нуля, если последнее число равно 0 или 5. Если нет, то числа округляются до нуля.

В приведенном ниже примере кода показано поведение этих режимов.

import decimal

from decimal import Decimal

from decimal import getcontext



getcontext().prec = 2



getcontext().rounding = decimal.ROUND_FLOOR

print (Decimal(3.961) + Decimal(0))



getcontext().rounding = decimal.ROUND_CEILING

print (Decimal(3.961) + Decimal(0))



getcontext().rounding = decimal.ROUND_HALF_DOWN

print (Decimal(3.705) + Decimal(0))



getcontext().rounding = decimal.ROUND_HALF_UP

print (Decimal(3.775) + Decimal(0))



getcontext().rounding = decimal.ROUND_UP

print (Decimal(3.775) + Decimal(0))



getcontext().rounding = decimal.ROUND_DOWN

print (Decimal(3.609) + Decimal(0))



getcontext().rounding = decimal.ROUND_HALF_EVEN

print (Decimal(3.665) + Decimal(0))



getcontext().rounding = decimal.ROUND_05UP

print (Decimal(3.675) + Decimal(0))

Пример кода довольно прост. Для округления чисел установлена ​​точность 2 цифры. Метод округления изменяется путем установки значения объекта «округление» (часть основного контекста). После выполнения приведенного выше примера кода вы должны получить следующий результат, в котором каждая строка соответствует соответствующему режиму округления:

3.9

4.0

3.7

3.8

3.8

3.6

3.7

3.6

Округление с использованием метода квантования

Вы также можете использовать метод «квантования», доступный в десятичном модуле, для округления чисел. Процесс идентичен описанному выше методу. Однако вместо того, чтобы устанавливать числа точности отдельно, вы можете указать показатель степени в качестве аргумента метода квантования, чтобы округлить число до определенной позиции. Ниже приведен пример кода.

import decimal

from decimal import Decimal



rounded = Decimal(3.961).quantize(Decimal('1.0'), rounding=decimal.ROUND_FLOOR)

print (rounded)

Методу квантования был предоставлен показатель степени «1.0», а в качестве дополнительного аргумента был предоставлен метод округления. Он вернет число в формате XX. После выполнения приведенного выше примера кода вы должны получить следующий результат:

3.9

Сравнение двух десятичных чисел

Вы можете сравнить любые два объекта десятичного типа, используя метод «сравнения», доступный в десятичном модуле. Примеры ниже показывают его использование.

from decimal import Decimal



print (Decimal(1.2).compare(Decimal(1.1)))

print (Decimal(1.0).compare(Decimal(1.1)))

print (Decimal(1.0).compare(Decimal(1.0)))

Вы можете вызвать метод сравнения для объекта десятичного типа и указать другое число в качестве аргумента. Будет возвращено значение 0, 1 или -1 в зависимости от сравниваемых чисел. Значение 0 указывает, что оба числа равны, значение 1 указывает, что первое число больше второго числа, а значение -1 указывает, что первое число меньше второго. После выполнения приведенного выше примера кода вы должны получить следующий результат:

1

- 1

0

Заключение

Хотя модуль decimal чаще всего используется для управления точностью десятичного разделителя и округления чисел после десятичной точки, он поставляется с некоторыми другими полезными методами, которые в дальнейшем можно использовать для управления десятичными числами для получения точных результатов арифметических вычислений. Базовое использование модуля decimal было рассмотрено в этой статье, и этого должно хватить для большинства ситуаций. Но вы всегда можете узнать больше о расширенных методах из официальной документации Python.



2021-08-29T22:06:23
Python

Системные платы Asus Intel серии 200 получают обновления Windows 11

Компания Asus создала веб-страницу, посвященную тому, чтобы помочь своим клиентам материнских плат подготовиться к запуску Windows 11. Хотя изображение заголовка объявляет «Готово к Windows 11» и содержит что-то вроде сертификационной наклейки, если вы читаете на ней. говорит, что «широкий спектр материнских плат Asus готов к работе с последней сборкой Windows 11 Insider Preview». Далее на странице приводится список и ссылки на новейшие файлы BIOS, некоторые из которых помечены как «в стадии тестирования», а другие — как окончательные и готовые к работе с Windows 11. Удивительно, но некоторые «довольно старые» материнские платы получают это обновление для Windows 11 …

Прокрутив страницу обновлений BIOS Asus, вы увидите, что доступность Windows 11, поддерживающей загрузку BIOS, очень обширна, а затем вы попадете в раздел, окрашенный в обратный цвет, с материнскими платами с набором микросхем Intel серии 2000 и 100. Выше в этом разделе поясняется, что «Следующие материнские платы совместимы с Windows 11 в рамках текущего тестирования. Возможность обновления зависит от поддержки со стороны операционной системы или наличия драйверов сторонних производителей». Тем не менее, видно, что существует множество материнских плат на чипсетах Asus Z270, H270 и B250 с поддержкой Windows 11. В зависимости от платы вы можете обнаружить, что поддержка описывается как полная и окончательная или как бета-версия.

Системные платы Asus Intel серии 200 получают обновления Windows 11

 

Непонятно, что Asus сделала с этими обновлениями BIOS — возможно, он просто автоматически включил TPM для перечисленных плат. В терминологии Intel TPM описывается как Intel PTT в меню BIOS в расширенной конфигурации PCH/FW, если она доступна.

В прошлом месяце руководители Microsoft, принявшие участие в сеансе AMA, заявили, что требования к оборудованию Windows 11 не будут изменены в ближайшее время. Мы знаем, что официальные минимальные системные требования для установки и использования будущей ОС включают TPM 2.0, не менее 4 ГБ ОЗУ, 64 ГБ памяти и разрешение экрана не менее 720p. Что касается процессоров, то минимальные требования Microsoft к поколению были такими: Intel Core 8- го поколения и AMD серии Ryzen 2000. Эта спецификация ЦП была ослаблена к выпуску Insider Preview, чтобы включить процессоры Core 7-го поколения и серию AMD Ryzen 1000.

Microsoft заявляет, что работает над тестированием и обратной связью, поэтому может включать более старые поколения ЦП, включенные в Insider Preview. Обновления Asus могут быть знаком от крупного партнера, что эти послабления могут остаться или даже дойти до 6-го поколения ( процессоры Core 6-го и 7-го поколений поддерживаются наборами микросхем Intel 200-й серии).



2021-08-28T23:06:45
Microsoft

Как использовать приложение Kali Linux в Windows 10

Операционная система Linux становится все более популярной на нескольких предприятиях. Доступно множество дистрибутивов, включая Mint, Ubuntu и Kali. Kali — один из самых известных дистрибутивов Linux, и он обычно используется тестировщиками на проникновение. Kali Linux поставляется с множеством бесплатного программного обеспечения с открытым исходным кодом, которое идеально подходит для тестирования на проникновение. Kali Linux в настоящее время доступен в Microsoft App Store для Windows 10 для экспертов по безопасности и тестировщиков на проникновение. Несмотря на очевидные недостатки, Kali Linux представляет множество новых инструментов командной строки, которые окажутся неоценимыми для настоящего профессионала. Microsoft включила в Windows 10 функцию под названием «Подсистема Windows для Linux» (WSL), которая позволяет пользователям запускать программы Linux прямо в операционной системе. Благодаря этой программе мы можем использовать практически все инструменты Kali на нашей машине с Windows. Поверх Windows 10 мы можем запустить Kali Linux. Установить Kali Linux в подсистему Windows 10 действительно просто. В этой статье вы найдете подходящий способ установки Kali Linux в вашей операционной системе Windows 10.

 

Системные Требования

Kali действительно проста в настройке. Теперь вам нужно дважды проверить, что у вас есть подходящее оборудование. Минимальные требования к оборудованию указаны ниже. Однако лучшее снаряжение приведет к лучшей производительности.

  • Для установки Kali Linux вам потребуется не менее 20 ГБ дискового пространства.
  • Рекомендуемый объем оперативной памяти — 1 ГБ; Рекомендуется 2 ГБ или более.

 

Установка Kali Linux на Windows 10

Чтобы установить WSL, щелкните правой кнопкой мыши кнопку «Пуск» в операционной системе Windows 10 и выберите Windows PowerShell из раскрывающегося меню. Откройте его с правами администратора. Для запуска напишите следующую прикрепленную команду и нажмите клавишу Enter, как показано на прикрепленном изображении:

Как использовать приложение Kali Linux в Windows 10

 

Во время выполнения система запросит перезагрузку. Итак, не забудьте перезагрузить систему, прежде чем продолжить. Магазин приложений Microsoft рекомендован в официальном руководстве по запуску Kali в подсистеме Windows. Чтобы выполнить задачу, следуйте приведенным ниже инструкциям:

Сначала введите «Microsoft Store» в кнопку меню. В меню вы увидите App Store. Затем нажмите клавишу Enter. В поле поиска в верхней части экрана введите «Kali Linux» и нажмите клавишу Enter. Kali Linux будет доступен через Microsoft App Store, как показано на прикрепленном скриншоте.

Затем вам нужно щелкнуть приложение Kali Linux. Просто нажмите кнопку «Получить» и дождитесь завершения установки. Весь процесс займет несколько минут, в зависимости от интернет-соединения вашей системы.

После завершения установки. успешно, закройте окно.

Введите слово «Kali» в область поиска. Теперь, когда Kali Linux работает, нам нужно ввести имя пользователя и пароль. Для начала вам нужно использовать командную строку. Для начала может потребоваться немного времени.

Введите любое имя пользователя по вашему выбору. Например, andreyex — это имя созданного нами пользователя. Имя может варьироваться в зависимости от вашей потребности в словах. Затем в следующей строке введите свой пароль и нажмите Enter.

Для проверки среды вы должны выполнить добавленную команду:

$ cat /etc/issue

Среда будет проверена выполнением предыдущей команды. Теперь нам нужно обновить систему с помощью приведенной ниже команды:

$ sudo apt update

Обновление займет некоторое время. Теперь выполните следующую команду:

$ sudo apt-get dist-upgrade

Поскольку пароль необходим, введите пароль и нажмите клавишу Enter. Эти две команды загрузят и установят обновления в вашей системе. В результате ваш компьютер с Kali Linux будет обновлен. Теперь Kali Linux настроен в системе. Вы можете запускать команды и выполнять функции в соответствии с вашими рабочими требованиями.

Заключение

В заключение, Kali Linux — фантастическая операционная система, которую использует широкий круг профессионалов. Это операционная система, о которой должен знать каждый в ИТ-секторе и любители компьютеров из-за ее комплексных утилит, надежности и простоты использования. Это программное обеспечение является прекрасным дополнением к Магазину Windows для пользователей с оптимальным знанием Linux и твердым пониманием возможностей многочисленных инструментов тестирования на проникновение в Kali Linux и того, как загружать эти инструменты. Это сделало Kali Linux более доступным для пользователей Windows, упростив процесс установки. Теперь мы надеемся, что вы сможете быстро и эффективно установить Kali Linux в операционную систему Windows 10.



2021-08-28T12:34:54
Kali Linux

Подключение Kali Linux к беспроводной сети

Сегодня беспроводные сети более распространены на открытых площадках и в крупных корпорациях, где требуется усиление безопасности для управления аутентичностью и конфиденциальностью. Беспроводная сеть позволяет участникам оставаться на связи в роуминге без проводов. Поскольку точки доступа усиливают сигналы Wi-Fi, машина может находиться далеко от маршрутизатора и при этом оставаться подключенной к сети. Вы подключаетесь к беспроводной сети этого учреждения, когда подключаетесь к точке доступа Wi-Fi в кафе или другом общественном месте. Радиочастотная (RF) технология управляет беспроводными сетями, частота, связанная с передачей радиоволн в электромагнитном спектре. Всякий раз, когда RF-ток направляется в антенну, он создает электромагнитное поле, которое может перемещаться по космосу. Большинству людей знаком значок беспроводной связи на ноутбуке или телефоне, обозначающий исправное беспроводное подключение к локальной сети, но немногие знакомы с древностью технологии Wi-Fi. Удивительно, но Wi-Fi был создан как маркетинговый термин для продвижения и облегчения взаимодействия между различными системами беспроводных локальных сетей, а не самой технологии. Wi-Fi никогда не задумывался как более короткая версия беспроводной связи; это была просто игра на фразе hi-fi (высокое качество воспроизведения), дань уважения большим аудиотехнологиям. Поскольку беспроводные сети передают данные по воздуху, утечка данных всегда возможна. По сравнению с медным кабелем беспроводные сети имеют больший риск утечки и взлома данных. В результате в беспроводных сетях повышенная концентрация шифрования данных является обязательной. Емкость устройства беспроводной сети может быть увеличена без необходимости прокладки дополнительных кабелей. В кабельных сетях LAN необходима дополнительная медная проводка для увеличения числа рабочих. Мы можем запустить Kali Linux по беспроводной сети после настройки нашей беспроводной сети. Мы можем получить все свободы типичного ПК в законном этическом тесте на проникновение, потому что нам не нужен провод Ethernet.

 

Способ подключения Kali Linux к беспроводной сети

Цель этой статьи — показать, как разрешить и остановить Wi-Fi в Kali Linux. Это можно сделать через графический интерфейс или командную строку, и в этом руководстве мы научим вас, как это сделать.

Это пригодится, если у вас возникли проблемы с доступом к беспроводному маршрутизатору или вы собираетесь использовать Aircrack-ng для мониторинга и взлома WiFi.

Способ 1

Первый способ связан с реализацией терминала Kali Linux. Запустите терминал и введите IP-адрес, чтобы увидеть метку вашего WiFi-адаптера и сведения о подключении, а также предположим, что вы уже подключены к сети Wi-Fi.

$ IP a

Идентификатор нашего WiFi-соединения в этом примере — eth0. Введите следующую прикрепленную команду, чтобы отключить соединение WiFi.

$ sudo ifconfig eth0 down

Введите следующую команду, чтобы перезагрузить устройство и активировать Wi-Fi. Затем мы также запускаем команду «IP a», чтобы увидеть, работает ли ссылка.

$ sudo ifconfig eth0 up

 

Способ 2

Программа Network Manager Text User Interface (nmtui) предоставляет вам текстовый интерфейс для работы с Network Manager и настройки вашей сети Kali Linux. Поскольку инструмент nmtui управляет Network Manager, мы должны сначала убедиться, что служба NetworkManager присутствует в нашей системе Kali Linux.

Выполните указанную ниже инструкцию на терминале Kali Linux.

$ nmtui

Как только выполнение вышеперечисленной команды завершится, в вашем окне kali Linux появится графический пользовательский интерфейс, который покажет эти три параметра:

  • Редактировать соединение
  • Активировать соединение
  • Установить имя хоста системы

Нажмите «ОК» после выбора «Активировать соединение».

Подключение Kali Linux к беспроводной сети

Как только вы выберете опцию «Активировать соединение», вы увидите другой экран. Отсюда вы можете построить беспроводную сеть.

Подключение Kali Linux к беспроводной сети

 

Заключение

Эта статья научила нас, как разрешать и ограничивать Wi-Fi в Kali Linux с помощью графического интерфейса и командной строки. Если ваш компьютер не подключается к сети Wi-Fi или не имеет доступа к Интернету, используйте это как средство устранения неполадок. Я надеюсь, что вам будет легко следовать этой статье в вашей системе Kali Linux.



2021-08-27T19:43:51
Kali Linux

Через сколько устройств проходит ваше соединение, прежде чем вы перейдете на веб-сайт?

Все мы широко используем Интернет в повседневной жизни, но немногие из нас действительно задумываются о том, как он работает на фундаментальном уровне. Понятно, что большинство людей полагают, что внутренняя работа Интернета слишком сложна для понимания. Давай изменим это, ладно?

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

 

Запросы и ответы

Упрощенное объяснение того, как работает Интернет, будет следующим: вы (клиент) отправляете запрос на веб-сайт (хост). Веб-сайт отправляет результат, который затем отображается в вашем веб-браузере. Все это происходит так быстро, что вы можете не осознавать, что под капотом происходит несколько вещей, когда вы подключаетесь к веб-сайту.

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

Прежде чем данные будут отправлены обратно клиенту с хоста, они разбиваются на тысячи пакетов. Каждый пакет содержит крошечный бит информации о файле, которую браузер затем собирает заново. Эти файлы можно разделить на две категории — файлы ресурсов и файлы кода.

Эти файлы содержат код, который может быть написан на нескольких языках — HTML, CSS, Perl, JavaScript и т. д. Активы включают изображения, видео, аудио и любые другие носители для отображения или загрузки.

 

Серверы

Веб-сайты, к которым вы подключаетесь, размещены на серверах. Вы можете думать о сервере как о большом компьютере, подключенном к Интернету. Серверы, которым просто необходимо обслуживать данные веб-сайтов, могут быть довольно простыми с точки зрения вычислительной мощности. Однако вы также можете арендовать серверы, которые соответствуют характеристикам высококлассной игровой установки.

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

На серверах установлены операционные системы — обычно специальные версии Linux или Windows. Эти операционные системы предназначены для размещения на серверах и обработки их соединений. Думайте об операционной системе как об одном из операторов коммутатора, который использовался для маршрутизации телефонных звонков. Когда клиент подключается к хост-серверу, операционная система знает, что делать с входящим подключением.

Когда сервер получает HTTP-запрос, он знает, как его обработать, и в случае успеха вернуть соответствующий ответ.

 

Протоколы

Чтобы клиент мог взаимодействовать с хостом, они оба должны использовать общий набор протоколов. Эти общие протоколы гарантируют, что любые устройства, которым необходимо подключиться к Интернету, смогут это сделать. Без этой стандартизации для доступа к разным частям Интернета потребовалось бы разное программное обеспечение. И наоборот, можно использовать разные протоколы, как в случае с TOR, для создания сетей, которые ведут себя по-разному.

Существует два протокола, которые имеют фундаментальное значение для работы Интернета — протокол передачи гипертекста, протокол управления передачей и Интернет-протокол. В совокупности это протоколы, которые позволяют онлайн-устройствам взаимодействовать друг с другом.

  • HTTP: этот протокол определяет общий язык для клиента и хоста, на котором они будут разговаривать друг с другом. Запросы, которые вы отправляете на онлайн-серверы, будут в формате HTTP.
  • TCP/IP: эти протоколы связи определяют способ передачи данных в Интернете. В частности, IP-уровень отвечает за направление пакетов на конкретный компьютер. Уровень TCP отвечает за направление этих пакетов на правильный порт на клиентском компьютере, поэтому они попадают в нужное приложение.

 

Служба доменных имен

Рассмотрим URL-адрес http://www.example.com/pogs/boglins. Часть URL-адреса example.com содержит информацию о местоположении и личности хоста. Часть адреса «/ pogs / boglins» указывает, к какой части веб-сайта вы хотите получить доступ. Вы можете думать о первой части как о номере телефона, который соединяет вас с конкретным бизнесом, а о последней части как о добавочном номере, позволяющем напрямую подключаться к нужному телефону.

Но компьютеры работают не со словами, они работают с числами. URL example.com приятный и легкий для чтения человеком, но это не то, что нужно вашему компьютеру. Чтобы подключиться к хосту, вашему браузеру необходимо знать IP-адрес сервера, к которому вы пытаетесь получить доступ.

Чтобы найти IP-адрес, ваш браузер выполняет поиск в службе доменных имен (DNS). Этот процесс похож на поиск телефонного номера в телефонной книге.

Когда вы регистрируете доменное имя, вам присваивается IP-адрес. Таким образом, когда example.com зарегистрирован, он добавляется в реестр доменных имен вместе со связанным IP-адресом. Когда браузер выполняет поиск в DNS для example.com, он находит связанный IP-адрес сервера, на котором хранится веб-сайт, и устанавливает соединение перед отправкой запроса пользователя.

 

HTML

Основным компонентом большинства веб-страниц является файл HTML. Это исходный код веб-страницы; он содержит все инструкции, необходимые браузеру для правильного отображения страницы. Он также сообщает браузеру, какие ресурсы ему нужно запросить у хоста.

Каждый дополнительный актив представляет собой отдельный запрос между клиентом и хостом. Иногда код HTML вызывает внешний скрипт, возможно, скрипт Python или Perl. В этом сценарии могут быть последующие вызовы других ресурсов. Никакие ресурсы не загружаются, если они не запрашиваются, однако многие веб-браузеры кэшируют определенные элементы, поэтому при повторном посещении страницы вам нужно будет загрузить только измененный контент.

 

Загрузка веб-сайта

Давайте посмотрим, как все эти отдельные компоненты объединяются при загрузке веб-сайта.

Когда вы щелкаете гиперссылку или вводите URL-адрес в свой веб-браузер, ваш веб-браузер выполняет поиск в DNS, который сообщает ему IP-адрес сервера, на котором размещен запрашиваемый вами веб-сайт. Затем он устанавливает соединение с хостом, используя протокол TCIP/IP.

Как только соединение установлено, клиент отправляет HTTP-запрос на хост, запрашивая либо домашнюю страницу, либо конкретную страницу или файл.

Если запрос клиента успешен, хост отправит запрошенные данные. Прежде чем данные будут отправлены обратно в веб-браузер клиента, они разбиваются на пакеты. Затем веб-браузер берет все эти отдельные части и объединяет их в отдельные файлы. Первоначально это обычно исходный HTML-код веб-страницы, который сообщает веб-браузеру, какие ресурсы запрашивать и как их отображать. Затем браузер отображает веб-сайт, который вы видите.

Каждый раз, когда вы подключаетесь к веб-сайту, происходит гораздо больше, чем кажется на первый взгляд. Подумайте, сколько отдельных элементов составляют веб-сайты, которые вы посещали каждый день. Несмотря на то, что это происходит в мгновение ока, вашему веб-браузеру и серверу приходится много взаимодействовать.



2021-08-27T15:57:52
Сервер