Лабораторная работа 4. CGI, хранение сессий на сервере.
Информация
Стандарт CGI: https://www.ietf.org/rfc/rfc3875.txt
Стандарт HTTP 1.0: https://www.ietf.org/rfc/rfc1945.txt
Стандарт HTTP 1.1: https://datatracker.ietf.org/doc/html/rfc2616
Заголовки HTTP: https://ru.wikipedia.org/wiki/Список_заголовков_HTTP
Коды возврата HTTP: https://ru.wikipedia.org/wiki/Список_кодов_состояния_HTTP
Задание
Используя собственную виртуальную машину, веб-сервер Apache2, протокол CGI и компилируемый язык программирования,
разработать
систему тестирования на основе предлагаемого набора тестовых заданий.
Информация о процессе и результатах тестирования, а также любая другая сессионная информация,
хранится в файле, имя которого передается в Cookie. Хранение ограничено 10 минутами.
Процесс тестирования:
- При первом входе пользователю предлагается ввести свое имя и начать тестирование.
- Каждая страница системы содержит кнопку с предложением начать сначала.
- На тестирование отводится 5 минут, обратный секундомер до конца тестирования - на каждой странице при прохождении тестирования.
- Порядок визуализации тестовых заданий рандомный, определяется один раз в начале тестирования.
- Порядок визуализации вариантов ответа рандомный, определяется при визуализации каждого тестового задания.
- Ответы с однозначным выбором имеют вес 1 балл, ответы с множественным выбором имеют вес 2 балла.
- Страница результатов тестирования содержит: обратный секундомер до конца сессии; всего баллов; набранных баллов;
процент правильных ответов; количество тестовых зданий, на которые не было дано ответов; список тестовых заданий с неправильными ответами.
Решение не прeдусматривает применение сторонних библиотек поддержки веб-программирования. Тем не менее,
самостоятельное изучение таких библиотек приветствуется, разрешается использование отдельных элементов
их исходного кода. Например, для языка программирования С: ANSI C library for CGI Programming (https://github.com/boutell/cgic)