Skip to content

🌍 Курсовой проект по дисциплине "Компьютерные сети"

License

Notifications You must be signed in to change notification settings

agarmirus/static_server_course_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Курсовой проект по дисциплине "Компьютерные сети"

Задание: Написать классический статик-сервер для отдачи контента с диска.

Требования:

  • поддержка запросов GET и HEAD;
  • поддержка статусов 200, 403, 404, 405;
  • выставление content-type в зависимости от типа файла (поддержка html, css, js, png, jpg, jpeg, swf, gif);
  • корректная передача файлов размером в 100Мб;
  • обработка ошибки в случае выхода адреса за корневую директорию сервера;
  • реализация логгера;
  • реализация архитектуры prefork + pselect().

Средства реализации:

  • ОС на базе ядра Linux (версия ядра - 6.5.13)
  • C (pselect, socket и т.д.)

Примечание. По ошибке реализовал архитектуру fork вместо prefork: каждому клиенту - по обслуживающему процессу (prefork подразумевает использование пула конечного числа дочерних процессов для обслуживания клиентов). Тем не менее, работа была успешно защищена.

About

🌍 Курсовой проект по дисциплине "Компьютерные сети"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages