Скачиваний:
0
Добавлен:
04.02.2026
Размер:
221.68 Кб
Скачать

2. Заголовки ответа (Response Headers)

text

Примеры:

Content-Type: text/html; charset=utf-8 ← тип контента

Content-Length: 1234 ← размер тела

Content-Encoding: gzip ← сжатие

Cache-Control: max-age=3600 ← кэширование (1 час)

Set-Cookie: session_id=xyz123 ← установить cookie

Server: Apache/2.4.41 ← информация о сервере

Last-Modified: Mon, 17 Dec 2024 10:00:00 ← дата последнего изменения

ETag: "W/\"123abc\"" ← тег версии

3. Пустая строка

text

Разделяет заголовки от тела ответа

4. Тело ответа (Message Body)

text

HTML-страница, изображение, JSON данные и т.д.

Пример для текстовой страницы:

<!DOCTYPE html>

<html>

<head><title>Example</title></head>

<body>

<h1>Hello World!</h1>

</body>

</html>

Пример для JSON API:

{

"status": "success",

"data": {

"id": 123,

"name": "Alice"

}

}

Пример полного HTTP ответа

text

HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8

Content-Length: 256

Cache-Control: public, max-age=3600

Set-Cookie: session_id=abc123; Path=/

<!DOCTYPE html>

<html>

<head><title>My Site</title></head>

<body>

<h1>Welcome!</h1>

<p>This is my website.</p>

</body>

</html>

Методы HTTP

Методы HTTP определяют, какую операцию нужно выполнить с ресурсом:skillbox+2

Метод

Назначение

Имеет тело?

Кэшируется?

GET

Получить ресурс

Нет

Да

POST

Создать ресурс / Отправить данные

Да

Нет (обычно)

PUT

Обновить весь ресурс

Да

Нет

PATCH

Обновить часть ресурса

Да

Нет

DELETE

Удалить ресурс

Нет

Нет

HEAD

Получить заголовки (без тела)

Нет

Да

OPTIONS

Узнать доступные методы

Нет

Да

GET vs POST

GET запрос:

text

Назначение: Получение данных

GET /search?q=network&sort=date HTTP/1.1

Host: www.example.com

Характеристики:

- Данные в URL (видны в адресной строке)

- Ограничение размера (~2KB)

- Кэшируется браузером

- Безопасен для повторения (idempotent)

- Пример: https://google.com/search?q=cat

Когда использовать:

- Поиск информации

- Фильтрация

- Пагинация

POST запрос:

text

Назначение: Создание или отправка данных

POST /api/users HTTP/1.1

Host: www.example.com

Content-Type: application/json

Content-Length: 50

{"name":"Alice","email":"alice@example.com"}

Характеристики:

- Данные в теле (скрыто от URL)

- Нет ограничения размера

- Не кэшируется (обычно)

- Имеет побочные эффекты (создание, изменение)

- Безопаснее для конфиденциальных данных

Когда использовать:

- Отправка формы

- Создание ресурса

- Отправка конфиденциальных данных (логин, пароль)

Процесс http запроса-ответа

text

1. Пользователь вводит URL: https://www.example.com/page.html

2. Браузер создаёт HTTP запрос:

GET /page.html HTTP/1.1

Host: www.example.com

...

3. Браузер подключается к серверу (TCP 3-way handshake)

4. Браузер отправляет HTTP запрос

5. Сервер получает запрос

6. Сервер обрабатывает:

- Проверяет URL

- Ищет файл /page.html

- Формирует ответ

7. Сервер отправляет HTTP ответ:

HTTP/1.1 200 OK

Content-Type: text/html

...

<html>...</html>

8. Браузер получает ответ

9. Браузер обрабатывает:

- Парсит HTML

- Загружает CSS, JavaScript, изображения

(для каждого — новый HTTP запрос)

10. Браузер рендерит страницу

11. Пользователь видит веб-страницу

ВОПРОС 27. Централизованная и распределённая передача файлов. Протоколы передачи файлов

Определение передачи файлов

Передача файлов — это процесс отправки цифровых файлов между компьютерами через сеть Internet или локальную сеть.

Два подхода:

  1. Централизованная передача — файлы через центральный сервер

  2. Распределённая передача — файлы передаются напрямую между узлами (P2P)

Централизованная передача файлов

Определение: Все файлы хранятся и передаются через центральный сервер, который контролирует весь процесс.miran+2

Архитектура

text

┌──────────────┐

│ Клиент 1 │

│ (загружает) │

└────────┬─────┘

│ (загрузить файл)

┌─────────────────┐

│ Центральный │

│ сервер передачи │

│ файлов (FTP) │

└────────┬────────┘

│ (скачать файл)

┌────────┴─────────────┬──────────┐

│ │ │

Клиент 2 Клиент 3 Клиент N

(скачивает) (скачивает) (скачивают)

Все клиенты подключаются к одному серверу

Преимущества централизованной:

  • Контроль — администратор управляет всем

  • Безопасность — проверка файлов, антивирус

  • Учёт — статистика загрузок

  • Простота — единая точка доступа

Недостатки централизованной:

  • Перегрузка сервера — узкое горлышко (bottleneck)

  • Зависимость — если сервер падает, передача невозможна

  • Расходы — содержание мощного сервера дорого

  • Масштабируемость — сложно расширить

Соседние файлы в предмете Открытые информационные системы и сети