Веб-сервер с функциональностью CGI (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м
(Добавлена ссылка на канал в Telegram)
Строка 9: Строка 9:
 
|categorize=yes
 
|categorize=yes
 
}}
 
}}
 +
 +
=== Контактная информация ===
 +
 +
Канал в Telegram для объявлений: [https://telegram.me/hse_cs_projects_15x_yacovlev @hse_cs_projects_15x_yacovlev]
  
 
=== Что это за проект? ===
 
=== Что это за проект? ===

Версия 15:31, 28 октября 2016

Ментор Виктор Яковлев
Учебный семестр Осень 2016
Учебный курс 2-й курс
Максимальное количество студентов, выбравших проект: 23



Контактная информация

Канал в Telegram для объявлений: @hse_cs_projects_15x_yacovlev

Что это за проект?

Введение

Веб-серверы - это программы, которые работают на физических серверах и обеспечивают выдачу содержимого браузерам.

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 балл. Сервер корректно обрабатывает ошибочные запросы

Ориентировочное расписание занятий

В зависимости от расписания других занятий, которое еще не опубликовано