# Катенин Владимир - WEB Basic. Занятие 1. Введение в Web технологии [toc] ## Практическая работа ### 1) Установить и настроить **linux ubuntu 20.04** ![](https://i.imgur.com/LyeuFlu.jpg) ![](https://i.imgur.com/E8F8Dj5.jpg) ![](https://i.imgur.com/DCKgVEs.jpg) ### 2) Настроить подключение к репозиториям **docker** Установим несколько необходимых пакетов, которые позволяют apt использовать пакеты через HTTPS: `sudo apt install apt-transport-https ca-certificates curl software-properties-common` ![](https://i.imgur.com/0SXQJ3u.jpg) Добавим ключ GPG для официального репозитория Docker в систему: `curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -` ![](https://i.imgur.com/LxfTBKS.jpg) Добавим репозиторий Docker в источники APT: `sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"` ![](https://i.imgur.com/iOH52zC.jpg) ### 3) Установить **Docker CE** Потом обновим базу данных пакетов и добавим в нее пакеты Docker из недавно добавленного репозитория: `sudo apt update` ![](https://i.imgur.com/O10ZV6R.jpg) Убедимся, что установка будет выполняться из репозитория Docker, а не из репозитория Ubuntu по умолчанию: `apt-cache policy docker-ce` ![](https://i.imgur.com/GEU4uFc.jpg) Установим Docker: `sudo apt install docker-ce` ![](https://i.imgur.com/yNTOyEt.jpg) `sudo systemctl status docker` ![](https://i.imgur.com/HH7diKU.jpg) ### 4) Установить веб-приложение **https://hub.docker.com/r/bkimminich/juice-shop** `docker pull bkimminich/juice-shop` ![](https://i.imgur.com/qLIHqs6.jpg) Запустим: `docker run --rm -p 3000:3000 bkimminich/juice-shop` ![](https://i.imgur.com/1ZAng51.jpg) ![](https://i.imgur.com/2iY12tR.jpg) ### 5) Изучить запросы браузера к приложению и форме регистрации пользователей Основные методы запросов - это `GET` и `POST` Переходим во вкладку `Network` в панели разработчика ![](https://i.imgur.com/nTA5xp9.jpg) Видим единственный `POST` запрос на главной странице ![](https://i.imgur.com/fayhkxA.jpg) После регистрации видим 2 `POST` запроса с введенными данными ![](https://i.imgur.com/tr1JsTq.jpg) ![](https://i.imgur.com/MHQcgiT.jpg) После авторизации появляется еще один `POST` запрос ![](https://i.imgur.com/S6q3Ab8.jpg) ### 6) Сформировать запрос к приложению через **curl** Посмотрим заголовки сайта `curl -I http://localhost:3000` ![](https://i.imgur.com/kiNC4MY.jpg) `curl http://localhost:3000` ![](https://i.imgur.com/uss2NSO.jpg) ### 7) Сформировать запрос к приложению через **powershell** ![](https://i.imgur.com/Kq9ItEi.jpg) ### 8) Изучить ответ приложения и распарсить его с помощью утилиты **jq** Установим: `apt-get install jq` ![](https://imgur.com/WrkbklR.jpg) Посмотрим Challenges: `curl http://localhost:3000/api/Challenges | jq` ![](https://imgur.com/ZkxwkY3.jpg)