lab4 webserver
This commit is contained in:
17
lab4/test-site/data.txt
Normal file
17
lab4/test-site/data.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
Это тестовый текстовый файл.
|
||||
|
||||
Сервер должен корректно отдавать как текстовые, так и бинарные файлы.
|
||||
|
||||
Особенности реализации:
|
||||
- Многопроцессная архитектура через fork()
|
||||
- Демонизация процесса
|
||||
- Поддержка HTTP/1.0 GET запросов
|
||||
- Журналирование через syslog
|
||||
- Обработка ошибок (404, 501)
|
||||
|
||||
Строки текста для проверки корректности передачи:
|
||||
1234567890
|
||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
абвгдежзийклмнопрстуфхцчшщъыьэюя
|
||||
Special chars: !@#$%^&*()_+-=[]{}|;':",.<>?/
|
||||
|
||||
38
lab4/test-site/index.html
Normal file
38
lab4/test-site/index.html
Normal file
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Тестовый веб-сервер</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<h1>🚀 Веб-сервер работает!</h1>
|
||||
<p>Это тестовая страница простого HTTP сервера на C с использованием fork().</p>
|
||||
|
||||
<h2>Особенности:</h2>
|
||||
<ul>
|
||||
<li>Многопроцессная обработка клиентов</li>
|
||||
<li>Работа в режиме демона</li>
|
||||
<li>Поддержка HTTP GET</li>
|
||||
<li>Статические файлы (HTML, текст, изображения)</li>
|
||||
<li>Журналирование через syslog</li>
|
||||
</ul>
|
||||
|
||||
<h2>Тестовые ссылки:</h2>
|
||||
<ul>
|
||||
<li><a href="/test.html">Тестовая страница</a></li>
|
||||
<li><a href="/logo.png">Изображение (PNG)</a></li>
|
||||
<li><a href="/data.txt">Текстовый файл</a></li>
|
||||
<li><a href="/style.css">CSS файл</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Изображение:</h2>
|
||||
<img src="/logo.png" alt="Test Image">
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
BIN
lab4/test-site/logo.png
Normal file
BIN
lab4/test-site/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
35
lab4/test-site/style.css
Normal file
35
lab4/test-site/style.css
Normal file
@@ -0,0 +1,35 @@
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
max-width: 800px;
|
||||
margin: 50px auto;
|
||||
padding: 20px;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.content {
|
||||
background: white;
|
||||
padding: 30px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
a {
|
||||
color: #1a73e8;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
ul {
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 20px 0;
|
||||
}
|
||||
39
lab4/test-site/test.html
Normal file
39
lab4/test-site/test.html
Normal file
@@ -0,0 +1,39 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Тестовая страница</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
max-width: 600px;
|
||||
margin: 50px auto;
|
||||
padding: 20px;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.box {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
padding: 30px;
|
||||
border-radius: 10px;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
a {
|
||||
color: #ffd700;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="box">
|
||||
<h1>✨ Тестовая страница</h1>
|
||||
<p>Если вы видите эту страницу, значит сервер корректно обрабатывает HTTP запросы!</p>
|
||||
<p>Сервер работает на порту <strong>13131</strong>.</p>
|
||||
<p><a href="/">← Вернуться на главную</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user