{"id":27286055,"url":"https://github.com/the0nix/caching-server","last_synced_at":"2026-05-14T21:36:49.257Z","repository":{"id":106597670,"uuid":"72533419","full_name":"The0nix/Caching-Server","owner":"The0nix","description":"Версия проекта на 02.06.17. Изменения видны в секциях \"Features\" и \"Installation and usage\".","archived":false,"fork":false,"pushed_at":"2017-06-02T17:24:54.000Z","size":160,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-06T22:04:44.201Z","etag":null,"topics":["c","epoll","http","server"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/The0nix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-11-01T12:19:37.000Z","updated_at":"2017-06-02T15:37:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"44b3a6ab-6ade-4fca-9da3-c6fd9c88ab41","html_url":"https://github.com/The0nix/Caching-Server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/The0nix/Caching-Server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The0nix%2FCaching-Server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The0nix%2FCaching-Server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The0nix%2FCaching-Server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The0nix%2FCaching-Server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/The0nix","download_url":"https://codeload.github.com/The0nix/Caching-Server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/The0nix%2FCaching-Server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33044389,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","epoll","http","server"],"created_at":"2025-04-11T19:25:47.948Z","updated_at":"2026-05-14T21:36:49.252Z","avatar_url":"https://github.com/The0nix.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Проект \"Кэширующий веб-сервер\".\r\n### Таболов Тамерлан\r\n### Группа БПМИ154-1\r\n\r\n * [Отчёт](#report)\r\n * [Описание актуальности решаемой задачи](#description)\r\n * [Используемые технологии](#technologies)\r\n * [Примерный план](#plan)\r\n * [Installation and usage](#usage)\r\n\r\n# \u003ca id=\"report\"\u003e\u003c/a\u003e Отчёт\r\nОтчёт к КТ2 можно найти по ссылке: [отчёт](https://yadi.sk/i/jfhp_2UV3GGAS5)\r\n\r\n# \u003ca id=\"description\"\u003e\u003c/a\u003e Описание актуальности решаемой задачи\r\nПроект является учебным и потому не претендует на выход в релиз. На данный момент рынок веб-серверов практически полностью окуппирован серверами *Apache* и *nginx*, из которых второй намного ближе к теме проекта, так как так же относится к разряду кэширующих веб-серверов.\r\n\r\n# \u003ca id=\"technologies\"\u003e\u003c/a\u003e Технологии \r\nВ проекте будут использоваться следующие технологии:\r\n * Технологии стандартной библиотеки языка C, в том числе низкоуровневые технологии для работы с сокетами.\r\n * Технологии ядра **Linux**.\r\n * Протокол **HTTP**\r\n * **Epoll** — для предотвращения блокировки потока во время соединения с клиентом и как гораздо менее ресурсоёмкая альтернатива созданию нескольких процессов.\r\n\r\n# \u003ca id=\"plan\"\u003e\u003c/a\u003e Features\r\n\r\nНа данный момент реализовано подключение клиентов, парсинг HTTP запросов, выдача файлов по запросам с использованием технологии Epoll, обработка ошибочных запросов и запросов к несуществующим файлам, проксирование.\r\n\r\n# \u003ca id=\"usage\"\u003e\u003c/a\u003e Installation and usage \r\n\r\n    $ git clone https://github.com/The0nix/Caching-Server.git\r\n    $ cd Caching-Server\r\n    $ mkdir bin; cd bin\r\n    $ cmake ../\r\n    $ make\r\n    $ ./caser -p 8080  # launch in default mode\r\n    $ ./caser -p 8080 -a http://pikabu.ru  # launch in proxy mode\r\n    \r\nВ папку bin необходимо поместить файлы сайта. Например: `echo ‘\u003chtml\u003e\u003cbody\u003e\u003ch1\u003eHello, world\u003c/h1\u003e\u003c/body\u003e\u003c/html\u003e’ \u003e index.html`.\r\n\r\nДля доступа к серверу можно воспользоваться браузером, обратившись к нужному адресу (по умолчанию: `localhost:\u003cport\u003e/\u003cpath\u003e`) или, например, утилитой *curl*: `curl localhost:\u003cport\u003e/\u003cpath\u003e`.\r\n\r\nДля отключения сервера используется комбинация клавиш `\u003cCtrl+C\u003e`\r\n    \r\n### Options:\r\n * `-d` — debug info\r\n * `-p port` — specify port\r\n * `-h` — help\r\n * `-a service://host` — proxy to `host` via `service`\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe0nix%2Fcaching-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthe0nix%2Fcaching-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthe0nix%2Fcaching-server/lists"}