# Катенин Владимир - WEB Basic. Занятие 1. Введение в Web технологии
[toc]
## Практическая работа
### 1) Установить и настроить **linux ubuntu 20.04**



### 2) Настроить подключение к репозиториям **docker**
Установим несколько необходимых пакетов, которые позволяют apt использовать пакеты через HTTPS:
`sudo apt install apt-transport-https ca-certificates curl software-properties-common`

Добавим ключ GPG для официального репозитория Docker в систему:
`curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -`

Добавим репозиторий Docker в источники APT:
`sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"`

### 3) Установить **Docker CE**
Потом обновим базу данных пакетов и добавим в нее пакеты Docker из недавно добавленного репозитория:
`sudo apt update`

Убедимся, что установка будет выполняться из репозитория Docker, а не из репозитория Ubuntu по умолчанию:
`apt-cache policy docker-ce`

Установим Docker:
`sudo apt install docker-ce`

`sudo systemctl status docker`

### 4) Установить веб-приложение **https://hub.docker.com/r/bkimminich/juice-shop**
`docker pull bkimminich/juice-shop`

Запустим:
`docker run --rm -p 3000:3000 bkimminich/juice-shop`


### 5) Изучить запросы браузера к приложению и форме регистрации пользователей
Основные методы запросов - это `GET` и `POST`
Переходим во вкладку `Network` в панели разработчика

Видим единственный `POST` запрос на главной странице

После регистрации видим 2 `POST` запроса с введенными данными


После авторизации появляется еще один `POST` запрос

### 6) Сформировать запрос к приложению через **curl**
Посмотрим заголовки сайта
`curl -I http://localhost:3000`

`curl http://localhost:3000`

### 7) Сформировать запрос к приложению через **powershell**

### 8) Изучить ответ приложения и распарсить его с помощью утилиты **jq**
Установим:
`apt-get install jq`

Посмотрим Challenges:
`curl http://localhost:3000/api/Challenges | jq`
