SlideShare a Scribd company logo
Протокол HTTP
Сетевая модель OSI
Прикладной Доступ к сетевым
службам
HTTP, FTP, SMTP
Представления Представление и
шифрование данных
ASCII, EBCDIC
Сеансовый Управление сеансом
связи
RPC, PAP
Транспортный Прямая связь между
конечными пунктами и
надежность
TCP, UDP
Сетевой Определение маршрута и
логическая адресация
IPv4, IPv6
Канальный Физическая адресация PPP, IEEE 802.2, Ethernet,
DSL, ARP, L2TP
Физический Работа со средой
передачи, сигналами и
двоичными данными
USB, витая пара,
коаксиальный кабель,
оптический кабель
HTTP/0.9
● GET /index.html
GET /account/count_registered/ HTTP/1.1
Host: stage.3d4medical.com
HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Mon, 26 Sep 2016 13:10:21 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Language, Cookie
Access-Control-Allow-Origin: stage.3d4medical.com
Content-Language: en
Accept-Encoding: gzip
5
36520
0
HTTP/1.0
● Заголовки
● Методы доступа GET/POST/HEAD
POST /account/login/ HTTP/1.1
Host: stage.3d4medical.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
username=tyvik8%40gmail.com&password=1
HTTP/1.0
HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Mon, 26 Sep 2016 13:27:47 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Content-Language: en
Expires: Mon, 26 Sep 2016 13:27:47 GMT
Vary: Accept-Language, Cookie
Last-Modified: Mon, 26 Sep 2016 13:27:47 GMT
sessionid: 328f3n56ebh7uc6sd85c7mt16n0bhkg1
Cache-Control: max-age=0
Access-Control-Allow-Origin: stage.3d4medical.com
Set-Cookie: sessionid=328f3n56ebh7uc6sd85c7mt16n0bhkg1; expires=Sat, 25-Sep-2021 13:27:47 GMT; httponly;
Max-Age=157680000; Path=/
Set-Cookie: email=; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Accept-Encoding: gzip
{"user": {"username": "TyVik", "occupation_ids": [], "occupations": [], "last_password_change": null, "address": "",
"licenses": {"lecture_maker": true}, "verify_email": true, "joined_date": "2015-09-02 08:14:03", "is_hidden": true,
"image_filename": "58/images/avatar.jpeg", "user_id": 58, "limits": {"lectures": -1, "groups": 5, "quizzes": -1,
"questions": 200, "plates": 200, "snippets": 50}, "purchase_info": {"upgraded": {"active": false}, "bypass": {"active":
true, "expire_dt": "2016-11-01 00:00:00", "expire_ts": "1477958400"}}, "user_image_filename":
"58/images/avatar.jpeg", "interest_ids": [], "sessionId": "328f3n56ebh7uc6sd85c7mt16n0bhkg1", "products":
{"redeem.com.3D4Medical.CAMac.FullUpgrade": {}, "bypass": {"active": true, "expire_dt": "2016-11-01 00:00:00",
"expire_ts": "1477958400"}}, "permissions": {"lecture_maker": false, "embeds_maker": true, "lecture_reviewer": true,
"recording_publisher": false}, "email": "tyvik8@gmail.com"}}
HTTP/1.1
● Несколько хостов на одном IP
● Keep-alive
● Больше методов
Методы доступа
● GET – запросить объект
● POST – обработать и сохранить данные
● PUT – сохранить данные
● PATCH – обновить часть ресурса
● DELETE – удалить ресурс
● HEAD – получить метаданные ресурса
● OPTIONS – получить права на ресурс
Коды состояний
● 1xx Informational
● 2xx Success
● 3xx Redirection
● 4xx Client Error
● 5xx Server Error
1xx Informational
● 100 Continue - продолжайте
● 101 Switching Protocols – давайте сменим
протокол
● 102 Processing – обрабатываю данные,
ждите
2xx Success
● 200 OK – всё хорошо
● 201 Created – создан новый объект
● 202 Accepted – запрос принят к выполнению
● 203 Non-Authoritative Information – информация
может быть не верна
● 204 No Content – тело ответа отсутствует
● 206 Partial Content – сервер отдал только часть
информации
3xx Redirection
● 300 Multiple Choices – варианты получения
ресурса
● 301 Moved Permanently – ресурс перемещён
навсегда
● 302 Moved Temporarily – ресурс перемещён
временно
● 304 Not Modified – ресурс не изменился
● 305 Use Proxy – необходимо использовать прокси
4xx Client Error
● 400 Bad Request – плохой, негодный запрос
● 401 Unauthorized – требуется авторизация
● 402 Payment Required – необходима оплата
● 403 Forbidden – доступ запрещён
● 404 Not Found – ресурс не найден
● 405 Method Not Allowed – метод HTTP не поддерживается
● 408 Request Timeout – время получения запроса истекло
● 409 Conflict – конфликт доступа к одному ресурсу
● 410 Gone – объект тут был, но его удалили (скоро вернут)
● 413 Request Entity Too Large – тело запроса слишком большое
● 414 Request-URI Too Large – строка запроса слишком большая
● 416 Requested Range Not Satisfiable – неверно указан диапазон байт
● 418 I'm a teapot – первоапрельская шутка 1998 года
● 422 Unprocessable Entity – сущность неконсистентна
● 429 Too Many Requests – слишком много запросов
● 431 Request Header Fields Too Large – длина заголовков слишком большая
● 451 Unavailable For Legal Reasons – 451 F
5xx Server Error
● 500 Internal Server Error – внутренняя ошибка сервера
● 501 Not Implemented – что-то не поддерживается
● 502 Bad Gateway – некому обработать запрос
неожиданно
● 503 Service Unavailable – некому обрабатывать
запрос планово
● 504 Gateway Timeout – запрос отвалился по таймауту
● 508 Loop Detected – бесконечное перенаправление
Заголовки соединения
● Connection
● Max-Forwards
● Host
● Referer
● User-Agent
● Upgrade
● Server
● Location
● Retry-After
Редкие заголовки
● Age
●
Alternates
●
Title
● Link
● Date
●
Proxy-Authorization
●
Warning
●
From
● MIME-Version
●
Expect
Заголовки контента
● Content-Encoding
● Content-Language
● Content-Length
● Content-Location
● Content-MD5
● Content-Range (Range)
● Content-Type
● Content-Version
Заголовки доступа
● Accept
● Accept-Charset
● Accept-Encoding
● Accept-Language
● Authorization
● Accept-Ranges
● Allow
Заголовки кеширования
● If-Match
● If-Modified-Since
● If-None-Match
● If-Range
● If-Unmodified-Since
● Cache-Control
● Etag
● Last-Modified
● Expires
Statutes and codes of HTTP
Statutes and codes of HTTP
HTTP/2.0
● Бинарный
● Мультиплексирование запросов
● Сжатие заголовков
● Приоритезация
● SSL/TLS

More Related Content

PPT
Web весна 2012 лекция 2
Technopark
 
PDF
Web осень 2013 лекция 1
Technopark
 
PDF
Web осень 2013 лекция 3
Technopark
 
PPT
Web весна 2013 лекция 2
Technopark
 
PDF
Школа-студия разработки для iOS. Лекция 4. Работа с данными
Глеб Тарасов
 
PPT
Web осень 2012 лекция 2
Technopark
 
PDF
05 - Web-технологии. Сетевые протоколы
Roman Brovko
 
PDF
07 - Web-технологии. Web-сервера
Roman Brovko
 
Web весна 2012 лекция 2
Technopark
 
Web осень 2013 лекция 1
Technopark
 
Web осень 2013 лекция 3
Technopark
 
Web весна 2013 лекция 2
Technopark
 
Школа-студия разработки для iOS. Лекция 4. Работа с данными
Глеб Тарасов
 
Web осень 2012 лекция 2
Technopark
 
05 - Web-технологии. Сетевые протоколы
Roman Brovko
 
07 - Web-технологии. Web-сервера
Roman Brovko
 

What's hot (20)

PPTX
Игорь Любин - PowerShell - ConfeT&QA 2011
ilyubin
 
PDF
Александр Крашенинников "Hadoop High Availability: опыт Badoo"
IT Event
 
PDF
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
DevDay
 
PDF
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Ontico
 
PPTX
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Fuenteovejuna
 
PDF
HTTP протокол
lectureswww lectureswww
 
PDF
MapReduce взгляд вглубь
Pavel Mezentsev
 
PDF
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
Ontico
 
PPT
Web осень 2012 лекция 3
Technopark
 
PDF
Расширения для PostgreSQL
Anastasia Lubennikova
 
PDF
Компиляция скриптов PHP. Алексей Романенко
Fuenteovejuna
 
PDF
Hacking PostgreSQL. Обзор исходного кода
Anastasia Lubennikova
 
PPT
Web весна 2013 лекция 3
Technopark
 
PPTX
Стажировка-2014, занятие 6 (часть 1). Web-приложения
7bits
 
PDF
Резервное копирование MySQL в экстремальных условиях
Sveta Smirnova
 
PDF
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
Омские ИТ-субботники
 
PDF
Administrarea DSpace
Natalia Cheradi
 
PDF
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
AvitoTech
 
PDF
Yandex Tank - Арсений Фомченко
AvitoTech
 
PDF
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...
CodeFest
 
Игорь Любин - PowerShell - ConfeT&QA 2011
ilyubin
 
Александр Крашенинников "Hadoop High Availability: опыт Badoo"
IT Event
 
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
DevDay
 
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)
Ontico
 
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Fuenteovejuna
 
HTTP протокол
lectureswww lectureswww
 
MapReduce взгляд вглубь
Pavel Mezentsev
 
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...
Ontico
 
Web осень 2012 лекция 3
Technopark
 
Расширения для PostgreSQL
Anastasia Lubennikova
 
Компиляция скриптов PHP. Алексей Романенко
Fuenteovejuna
 
Hacking PostgreSQL. Обзор исходного кода
Anastasia Lubennikova
 
Web весна 2013 лекция 3
Technopark
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
7bits
 
Резервное копирование MySQL в экстремальных условиях
Sveta Smirnova
 
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
Омские ИТ-субботники
 
Administrarea DSpace
Natalia Cheradi
 
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
AvitoTech
 
Yandex Tank - Арсений Фомченко
AvitoTech
 
CodeFest 2014. Бартунов О. — Hstore — документо-ориентированное хранилище и д...
CodeFest
 
Ad

Viewers also liked (16)

TXT
Pagina ftp http direccion estacion udec
Javier Fernandez Castillo
 
PPTX
Tcp
Deepa Rani
 
DOCX
Laporan Pendahuluan dan Resmi FTP dan HTTP
Muhammad Sulistiyo
 
PDF
NSN HSDPA Parameters
S.M ADIL ALI
 
PDF
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
Ramesh Kumar
 
PPT
Jaimin chp-7 - application layer- 2011 batch
Jaimin Jani
 
PPT
Ip sec and ssl
Mohd Arif
 
PPT
Oracle database - Get external data via HTTP, FTP and Web Services
Kim Berg Hansen
 
PPTX
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
Nazmul Hossain Rakib
 
PDF
Zte umts load-monitoring and expansion guide
Alfri Dinata
 
PPTX
Network Fundamentals: Ch3 - Application Layer Functionality and Protocols
Abdelkhalik Mosa
 
DOC
Drive test learning
Kshitij Verma
 
PPTX
NSN NOKIA 3G KPI for Network planning and optimization
Yogender Singh Rana
 
PPT
WCDMA Tems Parameters Investigation and Drive Testing
S Mohib Naqvi
 
PDF
Zte hsdpa
tmukuze
 
PPT
Proxy Server
guest095022
 
Pagina ftp http direccion estacion udec
Javier Fernandez Castillo
 
Laporan Pendahuluan dan Resmi FTP dan HTTP
Muhammad Sulistiyo
 
NSN HSDPA Parameters
S.M ADIL ALI
 
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
Ramesh Kumar
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin Jani
 
Ip sec and ssl
Mohd Arif
 
Oracle database - Get external data via HTTP, FTP and Web Services
Kim Berg Hansen
 
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
Nazmul Hossain Rakib
 
Zte umts load-monitoring and expansion guide
Alfri Dinata
 
Network Fundamentals: Ch3 - Application Layer Functionality and Protocols
Abdelkhalik Mosa
 
Drive test learning
Kshitij Verma
 
NSN NOKIA 3G KPI for Network planning and optimization
Yogender Singh Rana
 
WCDMA Tems Parameters Investigation and Drive Testing
S Mohib Naqvi
 
Zte hsdpa
tmukuze
 
Proxy Server
guest095022
 
Ad

Similar to Statutes and codes of HTTP (18)

PDF
06 - Web-технологии. Протокол HTTP
Roman Brovko
 
PDF
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
SmartTools
 
PPTX
Network and protocols(Lection 2 by Operation System)
Vitaly Sotnikov
 
PPTX
Стажировка-2013, разработчики, занятие 7. Web, HTTP
7bits
 
PDF
Flask, rest and data
Yehor Nazarkin
 
PDF
Михаил Давыдов: Транспорт, ajax
Yandex
 
PPTX
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
7bits
 
PPTX
Урок 20: Протокол HTTP - Евгений Концевой
Леонид Гроховский
 
PDF
Создание географически-распределенных датацентров на базе инженерных систем
Andrey Akulov
 
PPT
BPMonline OData
Igor Venzhyk
 
PDF
Олег Годовых «Страх и ненависть в Event Bus»
DevDay
 
PDF
Страх и ненависть в Event Bus
0leGG
 
PDF
2013 09 14 http-протокол
Yandex
 
PDF
Михаил Давыдов — Транспорт, Ajax
Yandex
 
PDF
C++ STL & Qt. Занятие 07.
Igor Shkulipa
 
PDF
Mihail davidov js-ajax
Yandex
 
PDF
Алексей Бережной - http-протокол
Yandex
 
PPT
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite
 
06 - Web-технологии. Протокол HTTP
Roman Brovko
 
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
SmartTools
 
Network and protocols(Lection 2 by Operation System)
Vitaly Sotnikov
 
Стажировка-2013, разработчики, занятие 7. Web, HTTP
7bits
 
Flask, rest and data
Yehor Nazarkin
 
Михаил Давыдов: Транспорт, ajax
Yandex
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
7bits
 
Урок 20: Протокол HTTP - Евгений Концевой
Леонид Гроховский
 
Создание географически-распределенных датацентров на базе инженерных систем
Andrey Akulov
 
BPMonline OData
Igor Venzhyk
 
Олег Годовых «Страх и ненависть в Event Bus»
DevDay
 
Страх и ненависть в Event Bus
0leGG
 
2013 09 14 http-протокол
Yandex
 
Михаил Давыдов — Транспорт, Ajax
Yandex
 
C++ STL & Qt. Занятие 07.
Igor Shkulipa
 
Mihail davidov js-ajax
Yandex
 
Алексей Бережной - http-протокол
Yandex
 
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite
 

Statutes and codes of HTTP

  • 2. Сетевая модель OSI Прикладной Доступ к сетевым службам HTTP, FTP, SMTP Представления Представление и шифрование данных ASCII, EBCDIC Сеансовый Управление сеансом связи RPC, PAP Транспортный Прямая связь между конечными пунктами и надежность TCP, UDP Сетевой Определение маршрута и логическая адресация IPv4, IPv6 Канальный Физическая адресация PPP, IEEE 802.2, Ethernet, DSL, ARP, L2TP Физический Работа со средой передачи, сигналами и двоичными данными USB, витая пара, коаксиальный кабель, оптический кабель
  • 3. HTTP/0.9 ● GET /index.html GET /account/count_registered/ HTTP/1.1 Host: stage.3d4medical.com HTTP/1.1 200 OK Server: nginx/1.10.0 (Ubuntu) Date: Mon, 26 Sep 2016 13:10:21 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Vary: Accept-Language, Cookie Access-Control-Allow-Origin: stage.3d4medical.com Content-Language: en Accept-Encoding: gzip 5 36520 0
  • 4. HTTP/1.0 ● Заголовки ● Методы доступа GET/POST/HEAD POST /account/login/ HTTP/1.1 Host: stage.3d4medical.com Content-Type: application/x-www-form-urlencoded Content-Length: 38 username=tyvik8%40gmail.com&password=1
  • 5. HTTP/1.0 HTTP/1.1 200 OK Server: nginx/1.10.0 (Ubuntu) Date: Mon, 26 Sep 2016 13:27:47 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Content-Language: en Expires: Mon, 26 Sep 2016 13:27:47 GMT Vary: Accept-Language, Cookie Last-Modified: Mon, 26 Sep 2016 13:27:47 GMT sessionid: 328f3n56ebh7uc6sd85c7mt16n0bhkg1 Cache-Control: max-age=0 Access-Control-Allow-Origin: stage.3d4medical.com Set-Cookie: sessionid=328f3n56ebh7uc6sd85c7mt16n0bhkg1; expires=Sat, 25-Sep-2021 13:27:47 GMT; httponly; Max-Age=157680000; Path=/ Set-Cookie: email=; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/ Accept-Encoding: gzip {"user": {"username": "TyVik", "occupation_ids": [], "occupations": [], "last_password_change": null, "address": "", "licenses": {"lecture_maker": true}, "verify_email": true, "joined_date": "2015-09-02 08:14:03", "is_hidden": true, "image_filename": "58/images/avatar.jpeg", "user_id": 58, "limits": {"lectures": -1, "groups": 5, "quizzes": -1, "questions": 200, "plates": 200, "snippets": 50}, "purchase_info": {"upgraded": {"active": false}, "bypass": {"active": true, "expire_dt": "2016-11-01 00:00:00", "expire_ts": "1477958400"}}, "user_image_filename": "58/images/avatar.jpeg", "interest_ids": [], "sessionId": "328f3n56ebh7uc6sd85c7mt16n0bhkg1", "products": {"redeem.com.3D4Medical.CAMac.FullUpgrade": {}, "bypass": {"active": true, "expire_dt": "2016-11-01 00:00:00", "expire_ts": "1477958400"}}, "permissions": {"lecture_maker": false, "embeds_maker": true, "lecture_reviewer": true, "recording_publisher": false}, "email": "[email protected]"}}
  • 6. HTTP/1.1 ● Несколько хостов на одном IP ● Keep-alive ● Больше методов
  • 7. Методы доступа ● GET – запросить объект ● POST – обработать и сохранить данные ● PUT – сохранить данные ● PATCH – обновить часть ресурса ● DELETE – удалить ресурс ● HEAD – получить метаданные ресурса ● OPTIONS – получить права на ресурс
  • 8. Коды состояний ● 1xx Informational ● 2xx Success ● 3xx Redirection ● 4xx Client Error ● 5xx Server Error
  • 9. 1xx Informational ● 100 Continue - продолжайте ● 101 Switching Protocols – давайте сменим протокол ● 102 Processing – обрабатываю данные, ждите
  • 10. 2xx Success ● 200 OK – всё хорошо ● 201 Created – создан новый объект ● 202 Accepted – запрос принят к выполнению ● 203 Non-Authoritative Information – информация может быть не верна ● 204 No Content – тело ответа отсутствует ● 206 Partial Content – сервер отдал только часть информации
  • 11. 3xx Redirection ● 300 Multiple Choices – варианты получения ресурса ● 301 Moved Permanently – ресурс перемещён навсегда ● 302 Moved Temporarily – ресурс перемещён временно ● 304 Not Modified – ресурс не изменился ● 305 Use Proxy – необходимо использовать прокси
  • 12. 4xx Client Error ● 400 Bad Request – плохой, негодный запрос ● 401 Unauthorized – требуется авторизация ● 402 Payment Required – необходима оплата ● 403 Forbidden – доступ запрещён ● 404 Not Found – ресурс не найден ● 405 Method Not Allowed – метод HTTP не поддерживается ● 408 Request Timeout – время получения запроса истекло ● 409 Conflict – конфликт доступа к одному ресурсу ● 410 Gone – объект тут был, но его удалили (скоро вернут) ● 413 Request Entity Too Large – тело запроса слишком большое ● 414 Request-URI Too Large – строка запроса слишком большая ● 416 Requested Range Not Satisfiable – неверно указан диапазон байт ● 418 I'm a teapot – первоапрельская шутка 1998 года ● 422 Unprocessable Entity – сущность неконсистентна ● 429 Too Many Requests – слишком много запросов ● 431 Request Header Fields Too Large – длина заголовков слишком большая ● 451 Unavailable For Legal Reasons – 451 F
  • 13. 5xx Server Error ● 500 Internal Server Error – внутренняя ошибка сервера ● 501 Not Implemented – что-то не поддерживается ● 502 Bad Gateway – некому обработать запрос неожиданно ● 503 Service Unavailable – некому обрабатывать запрос планово ● 504 Gateway Timeout – запрос отвалился по таймауту ● 508 Loop Detected – бесконечное перенаправление
  • 14. Заголовки соединения ● Connection ● Max-Forwards ● Host ● Referer ● User-Agent ● Upgrade ● Server ● Location ● Retry-After
  • 15. Редкие заголовки ● Age ● Alternates ● Title ● Link ● Date ● Proxy-Authorization ● Warning ● From ● MIME-Version ● Expect
  • 16. Заголовки контента ● Content-Encoding ● Content-Language ● Content-Length ● Content-Location ● Content-MD5 ● Content-Range (Range) ● Content-Type ● Content-Version
  • 17. Заголовки доступа ● Accept ● Accept-Charset ● Accept-Encoding ● Accept-Language ● Authorization ● Accept-Ranges ● Allow
  • 18. Заголовки кеширования ● If-Match ● If-Modified-Since ● If-None-Match ● If-Range ● If-Unmodified-Since ● Cache-Control ● Etag ● Last-Modified ● Expires
  • 21. HTTP/2.0 ● Бинарный ● Мультиплексирование запросов ● Сжатие заголовков ● Приоритезация ● SSL/TLS