JS HTTP
JS HTTP
CLIENT SERVER
PHP
DB
AJAX
CLIENT
SERVER
Ip layer Ip layer
(ip) (ip)
3
HTTP
(Hyper Text Transfer Protocol)
stateless
– текстовый
– расширяемый
https://tools.ietf.org/html/rfc2616
4
Примеры диалогов для
HTTP
Запрос клиента
Ответ сервера
5
Структура HTTP
Структура состоит из 3х основных частей, которые
передаются в указанном порядке
Строка запроса:
<Method><URI><HTTP Version>
HTTP/1.1 200 ОК
8
Метод запроса
(HTTP Method)
- Чувствительно к регистру
9
Метод запроса
(HTTP Method)
Метод Пояснение
OPTIONS Используется для определения возможностей веб-сервера или параметров
соединения для конкретного ресурса. Клиент должен указать в URI звездочку –
“*”
GET Используется для запроса содержимого указанного ресурса. Клиент может
передавать параметры выполнения запроса в URI целевого ресурса после
символа “?”
POST Применяется для передачи пользовательских данных заданному ресурсу
TRACE Возвращает полученный запрос так, что клиент может увидеть, какую
информацию промежуточные сервера добавляют или изменяют в запросе
CONNECT Преобразует соединение запроса в прозрачный TCP/IP-туннель, обычно чтобы
содействовать установлению защищенного SSL-соединения через
нешифрованный прокси
HEAD Используется для запроса определенных заголовков
10
Коды состояния
(Status Code)
11
Код Пояснение
200 Успешный запрос
ОК
201 В результате успешного выполнения запроса был создан новый ресурс
Created
202 Запрос был принят на обработку, но она не завершена
Accepted
203 Аналогично 200, но в этом случае передаваемая информация была взята не
Non-Authoritative из первичного источника
information
204 Сервер успешно обработал запрос, но в ответе были преданы только
No content заголовки без тела сообщения
400 Сервер обнаружил в запросе клиента синтаксическую ошибку
Bad request
401 Для доступа к запрашиваемому ресурсу требуется аутентификация
Unauthorized
403 Сервер понял запрос, но он отказывается его выполнять из-за ограничений в
Forbidden доступе для клиента к указанному ресурсу
404 Сервер понял запрос, но не нашел соответствующего ресурса по указанному
Not found URI
409 Запрос не может быть выполнен из-за конфликтного обращения к ресурсу
Conflict
501 Любая внутренняя ошибка сервера
Internal server error
503 Сервер временно не имеет возможности обрабатывать запросы по
Service Unavailable техническим причинам 12
Заголовки
(HTTP Headers)
- Это строки в HTTP-сообщении, содержащие
разделенную двоеточием пару параметр-значение
- Заголовки должны отделяться от тела сообщения
хотя бы одной пустой строкой
14
Заголовки запросов
(Request headers)
- Authorization – авторизация, чаще всего
логин/пароль
16
Тело HTTP-сообщения
(Message body)
17