- •Лекция 10
- •Сетевой протокол
- •Уровни протоколов (модель ВОС)
- •Протоколы, в сети Интернет
- •Сетевые технологии (архитектуры)
- •Протокол HTTP
- •Структура протокола
- •HTTP/0.9
- •HTTP/1.0 и HTTP/1.1
- •Пример запроса и ответа
- •Методы
- •Классы кодов ответа HTTP
- •Информационные коды ответа
- •Коды 2xx (Success)
- •Коды 3xx (Redirection)
- •Коды 4xx (Client error)
- •Коды 5xx (Server error)
- •Недостатки URI и URL
- •Передача данных от клиента к серверу
- •Передача данных от клиента к серверу
- •Передача данных от клиента к серверу
Методы
GET — запрос содержимого ресурса
HEAD — получение заголовков
POST — передает серверу данные
PUT — загружает ресурс на сервер
DELETE — удаляет ресурс
TRACE
CONNECT
OPTIONS
Классы кодов ответа HTTP
1xx — Informational (информационный)
2xx — Success (успешный)
3xx — Redirectional (Перенаправление)
4xx — Client error (Ошибка клиента)
5xx — Server error (Ошибка сервера)
Информационные коды ответа
100 — Continue.
101 — Switching protocols
102 — Processing
Коды 2xx (Success)
Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента.
200 — OK
201 — Created
202 — Accepted
203 — Non-Authoritative Information
204 — No content
205 — Reset Content
206 — Partial Content
Коды 3xx (Redirection)
300 — Multiple Choices
301 — Moved Permanently
302 — Found
303 — See Other
304 — Not Modified
305 — Use Proxy
306 — зарезервировано
307 — Temporary Redirect
Коды 4xx (Client error)
400 — Bad Request
401 — Unauthorized
403 — Forbidden
404 — Not Found
405 — Method Not Allowed
408 — Request Timeout
Коды 5xx (Server error)
500 — Internal Server Error
501 — Not Implemented
502 — Bad Gateway
503 — Service Unavailable
504 — Gateway Timeout
505 — HTTP Version Not Supported
URI
URI — Universal Resource Identifier. Короткая строка, позволяющая идентифицировать какой-либо ресурс
Структура URI:
<схема>:<идентификатор-в-зависимости- |
||
от-схемы> |
|
|
Схемы: |
|
|
http: |
ldap: |
tel: |
ftp: |
mailto: |
telnet: |
file: |
news: |
jar: |
URL
URL — Uniform Resource Locator Структура:
<схема>://<логин>:<пароль>@<хост>:<порт>/ <URL-путь>
http://www.miet.ru
ftp://guest:12345@ftp.swamp.ru/pub/
Недостатки URI и URL
Главный недостаток — отсутствие поддержки Unicode
Кодирование не ASCII символов в URI/URL:
Преобразовать не ASCII символы в UTF-8
Заменить полученные байты в последовательноть %<hex-код>
Пример:
http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB %D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_ %D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0