Веб-сервер с функциональностью CGI (проект) — различия между версиями
м |
м |
||
Строка 1: | Строка 1: | ||
{{Карточка_проекта | {{Карточка_проекта | ||
|name=Веб-сервер с функциональностью CGI | |name=Веб-сервер с функциональностью CGI | ||
− | |mentor= | + | |mentor=Виктор Яковлев |
|mentor_login={{URLENCODE:Vyacovlev|WIKI}} | |mentor_login={{URLENCODE:Vyacovlev|WIKI}} | ||
|semester=Осень 2016 | |semester=Осень 2016 |
Версия 12:18, 2 октября 2016
Ментор | Виктор Яковлев |
Учебный семестр | Осень 2016 |
Учебный курс | 2-й курс |
Максимальное количество студентов, выбравших проект: 23 | |
Что это за проект?
Введение
Веб-серверы - это программы, которые работают на физических серверах и обеспечивают выдачу содержимого браузерам.
Common Gateway Interface (CGI) - простой интерфейс взаимодействия между веб-сервером и сторонними программами, генерирующими динамический контент. В отличии от веб-фреймворков, используется там, где нужна очень простая функциональность.
Что требуется
Реализовать веб-сервер, функционально аналогичный старым версиям Apache. Требования к серверу: Уметь выдавать как статический, так и динамический контент; уметь обрабатывать ошибки.
Чему вы научитесь?
1. Устройство протокола HTTP, работа с заголовками и запросами
2. Взаимодействию процессов в Unix
3. Умение разрабатывать программы для Unix-подобных систем и ориентироваться в POSIX API
Какие начальные требования?
Умение разрабатывать программы на Cи или C++
Какие будут использоваться технологии?
Только POSIX.
Использование сторонних библиотек запрещено.
Темы вводных занятий
Направления развития
Нет. Это учебный проект для отработки практических навыков по курсу АКОС.
Критерии оценки
4 балла. Реализован веб-сервер, который умеет выдавать статические страницы и обслуживать одновременно несколько подключений
6 баллов. Помимо выдачи статического содержимого, сервер умеет выполнять сторонние программы и выдавать результат их работы
9 баллов. Реализована функциональность прерывания работы и изоляции потенциально опасных CGI-скриптов.
+1 балл. Реализована поддержка POST-запросов
+1 балл. Сервер оформлен в виде системной службы для systemd
+1 балл. Сервер корректно обрабатывает ошибочные запросы
Ориентировочное расписание занятий
В зависимости от расписания других занятий, которое еще не опубликовано