Skip to content

Версия проекта на 02.06.17. Изменения видны в секциях "Features" и "Installation and usage".

Notifications You must be signed in to change notification settings

The0nix/Caching-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект "Кэширующий веб-сервер".

Таболов Тамерлан

Группа БПМИ154-1

Отчёт

Отчёт к КТ2 можно найти по ссылке: отчёт

Описание актуальности решаемой задачи

Проект является учебным и потому не претендует на выход в релиз. На данный момент рынок веб-серверов практически полностью окуппирован серверами Apache и nginx, из которых второй намного ближе к теме проекта, так как так же относится к разряду кэширующих веб-серверов.

Технологии

В проекте будут использоваться следующие технологии:

  • Технологии стандартной библиотеки языка C, в том числе низкоуровневые технологии для работы с сокетами.
  • Технологии ядра Linux.
  • Протокол HTTP
  • Epoll — для предотвращения блокировки потока во время соединения с клиентом и как гораздо менее ресурсоёмкая альтернатива созданию нескольких процессов.

Features

На данный момент реализовано подключение клиентов, парсинг HTTP запросов, выдача файлов по запросам с использованием технологии Epoll, обработка ошибочных запросов и запросов к несуществующим файлам, проксирование.

Installation and usage

$ git clone https://github.com/The0nix/Caching-Server.git
$ cd Caching-Server
$ mkdir bin; cd bin
$ cmake ../
$ make
$ ./caser -p 8080  # launch in default mode
$ ./caser -p 8080 -a http://pikabu.ru  # launch in proxy mode

В папку bin необходимо поместить файлы сайта. Например: echo ‘<html><body><h1>Hello, world</h1></body></html>’ > index.html.

Для доступа к серверу можно воспользоваться браузером, обратившись к нужному адресу (по умолчанию: localhost:<port>/<path>) или, например, утилитой curl: curl localhost:<port>/<path>.

Для отключения сервера используется комбинация клавиш <Ctrl+C>

Options:

  • -d — debug info
  • -p port — specify port
  • -h — help
  • -a service://host — proxy to host via service

About

Версия проекта на 02.06.17. Изменения видны в секциях "Features" и "Installation and usage".

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published