- •Лекция 10
- •Сетевой протокол
- •Уровни протоколов (модель ВОС)
- •Протоколы, в сети Интернет
- •Сетевые технологии (архитектуры)
- •Протокол HTTP
- •Структура протокола
- •HTTP/0.9
- •HTTP/1.0 и HTTP/1.1
- •Пример запроса и ответа
- •Методы
- •Классы кодов ответа HTTP
- •Информационные коды ответа
- •Коды 2xx (Success)
- •Коды 3xx (Redirection)
- •Коды 4xx (Client error)
- •Коды 5xx (Server error)
- •Недостатки URI и URL
- •Передача данных от клиента к серверу
- •Передача данных от клиента к серверу
- •Передача данных от клиента к серверу
Лекция 10
Сетевые протоколы
Сетевой протокол
Сетевой протокол — набор правил, позволяющий осуществлять соединение и обмен данными между двумя включёнными в сеть компьютерами.
Стек протоколов — набор взаимодействующих сетевых протоколов.
Уровни протоколов (модель ВОС)
Физический уровень (передача оптических или электрических сигналов)
Канальный уровень (упаковка данных, контроль за ошибками)
Сетевой уровень (коммутация и маршрутизация)
Транспортный уровень
Сеансовый уровень (отвечает за поддержание сеанса связи)
Уровень представления (преобразование протоколов, декодирование данных)
Прикладной уровень (взаимодействие приложений)
Протоколы, в сети Интернет
HTTP — HyperText Transfer Protocol
FTP — File transfer Protocol
SMTP — Simple Mail Transfer Protocol
POP3 — Post Office Protocol Version 3
IMAP — Internet Message Access Protocol
IRC — Internet Relay Chat
Сетевые технологии (архитектуры)
Клиент-Сервер
Запрос инициируется клиентом
Сервер ожидает запросов от клиента
Одноранговая (пиринговая) архитектура (P2P)
Каждый элемент сети является как сервером так и клиентом
Протокол HTTP
Протокол HTTP — протокол прикладного уровня, построенный по технологии клиент- сервер.
История:
1991 — HTTP/0.9
1996 — HTTP/1.0
1999 — HTTP/1.1
Структура протокола
Протокол является текстовым и состоит из следующих частей:
Стартовая строка
Заголовки
Тело сообщения
HTTP/0.9
Запрос HTTP/0.9
GET URI<cr><lf>
Пример запроса:
GET http://www.miet.ru<cr></lf>
Ответ:
<html>
...
</html>
HTTP/1.0 и HTTP/1.1
Запрос:
Метод URI HTTP/Версия<cr><lf> Заголовок 1<cr></lf> Заголовок 2<cr></lf>
...
Заголовок N<cr></lf> <cr><lf>
Ответ
HTTP/Версия Код Пояснение<cr><lf>
Заголовок 1<cr></lf>
Заголовок 2<cr></lf>
...
Заголовок N<cr></lf> <cr><lf>
Данные
Пример запроса и ответа
Запрос:
GET http://www.miet.ru HTTP/1.0<cr><lf> host: www.miet.ru<cr></lf>
port: 80<cr></lf>
...
<cr><lf>
Ответ
HTTP/1.0 200 Ok<cr><lf>
Date: Thu, 10 Apr 2008 22:11:17 GMT
Server: Apache/1.3.33 (Unix) mod_fastcgi/2.4.0 FrontPage/5.0.2.2623 PHP/4.3.10
od_gzip/1.3.19.1a mod_ssl/2.8.22 OpenSSL/0.9.7b rus/PL30.20
Content-Length: 72
Last-Modified: Sat, 19 Jan 2008 13:30:58 GMT Connection: close
Content-Type: text/html; charset=windows-1251 Expires: Thu, 01 Jan 1970 00:00:01 GMT <cr><lf>
<html>
...
</html>