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
HTTP/2.0
● Бинарный
● Мультиплексирование запросов
● Сжатие заголовков
● Приоритезация
● SSL/TLS

More Related Content

What's hot

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

What's hot (20)

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

Viewers also liked

Pagina ftp http direccion estacion udec
Pagina ftp http direccion estacion udecPagina ftp http direccion estacion udec
Pagina ftp http direccion estacion udec
Javier Fernandez Castillo
 
Laporan Pendahuluan dan Resmi FTP dan HTTP
Laporan Pendahuluan dan Resmi FTP dan HTTPLaporan Pendahuluan dan Resmi FTP dan HTTP
Laporan Pendahuluan dan Resmi FTP dan HTTP
Muhammad Sulistiyo
 
NSN HSDPA Parameters
NSN HSDPA ParametersNSN HSDPA Parameters
NSN HSDPA Parameters
S.M ADIL ALI
 
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence LabsOSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
Ramesh Kumar
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin   chp-7 - application layer- 2011 batchJaimin   chp-7 - application layer- 2011 batch
Jaimin chp-7 - application layer- 2011 batch
Jaimin Jani
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and sslMohd Arif
 
Oracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web ServicesOracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web Services
Kim Berg Hansen
 
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICESCENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
Nazmul Hossain Rakib
 
Zte umts load-monitoring and expansion guide
Zte umts load-monitoring and expansion guideZte umts load-monitoring and expansion guide
Zte umts load-monitoring and expansion guide
Alfri Dinata
 
Network Fundamentals: Ch3 - Application Layer Functionality and Protocols
Network Fundamentals: Ch3 - Application Layer Functionality and ProtocolsNetwork Fundamentals: Ch3 - Application Layer Functionality and Protocols
Network Fundamentals: Ch3 - Application Layer Functionality and Protocols
Abdelkhalik Mosa
 
NSN NOKIA 3G KPI for Network planning and optimization
NSN NOKIA 3G KPI for Network planning and optimizationNSN NOKIA 3G KPI for Network planning and optimization
NSN NOKIA 3G KPI for Network planning and optimization
Yogender Singh Rana
 
WCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive TestingWCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive Testing
S Mohib Naqvi
 
Zte hsdpa
Zte hsdpaZte hsdpa
Zte hsdpa
tmukuze
 

Viewers also liked (16)

Pagina ftp http direccion estacion udec
Pagina ftp http direccion estacion udecPagina ftp http direccion estacion udec
Pagina ftp http direccion estacion udec
 
Tcp
TcpTcp
Tcp
 
Laporan Pendahuluan dan Resmi FTP dan HTTP
Laporan Pendahuluan dan Resmi FTP dan HTTPLaporan Pendahuluan dan Resmi FTP dan HTTP
Laporan Pendahuluan dan Resmi FTP dan HTTP
 
NSN HSDPA Parameters
NSN HSDPA ParametersNSN HSDPA Parameters
NSN HSDPA Parameters
 
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence LabsOSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
OSI and TCP/IP Reference Model - Ramesh Kumar, Convergence Labs
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin   chp-7 - application layer- 2011 batchJaimin   chp-7 - application layer- 2011 batch
Jaimin chp-7 - application layer- 2011 batch
 
Ip sec and ssl
Ip sec and  sslIp sec and  ssl
Ip sec and ssl
 
Oracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web ServicesOracle database - Get external data via HTTP, FTP and Web Services
Oracle database - Get external data via HTTP, FTP and Web Services
 
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICESCENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
CENTRAL MANAGEMENT OF NETWORK AND CALL SERVICES
 
Zte umts load-monitoring and expansion guide
Zte umts load-monitoring and expansion guideZte umts load-monitoring and expansion guide
Zte umts load-monitoring and expansion guide
 
Network Fundamentals: Ch3 - Application Layer Functionality and Protocols
Network Fundamentals: Ch3 - Application Layer Functionality and ProtocolsNetwork Fundamentals: Ch3 - Application Layer Functionality and Protocols
Network Fundamentals: Ch3 - Application Layer Functionality and Protocols
 
Drive test learning
Drive test learningDrive test learning
Drive test learning
 
NSN NOKIA 3G KPI for Network planning and optimization
NSN NOKIA 3G KPI for Network planning and optimizationNSN NOKIA 3G KPI for Network planning and optimization
NSN NOKIA 3G KPI for Network planning and optimization
 
WCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive TestingWCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive Testing
 
Zte hsdpa
Zte hsdpaZte hsdpa
Zte hsdpa
 
Proxy Server
Proxy ServerProxy Server
Proxy Server
 

Similar to Statutes and codes of HTTP

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

Similar to Statutes and codes of HTTP (18)

06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP
 
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IPСтажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
Стажировка 2016-07-12 02 Денис Нелюбин. Web, HTTP, TCP/IP
 
Network and protocols(Lection 2 by Operation System)
Network and protocols(Lection 2 by Operation System)Network and protocols(Lection 2 by Operation System)
Network and protocols(Lection 2 by Operation System)
 
Стажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTPСтажировка-2013, разработчики, занятие 7. Web, HTTP
Стажировка-2013, разработчики, занятие 7. Web, HTTP
 
Flask, rest and data
Flask, rest and dataFlask, rest and data
Flask, rest and data
 
Михаил Давыдов: Транспорт, ajax
Михаил Давыдов: Транспорт, ajaxМихаил Давыдов: Транспорт, ajax
Михаил Давыдов: Транспорт, ajax
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 6
 
Урок 20: Протокол HTTP - Евгений Концевой
Урок 20: Протокол HTTP - Евгений КонцевойУрок 20: Протокол HTTP - Евгений Концевой
Урок 20: Протокол HTTP - Евгений Концевой
 
Создание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных системСоздание географически-распределенных датацентров на базе инженерных систем
Создание географически-распределенных датацентров на базе инженерных систем
 
BPMonline OData
BPMonline ODataBPMonline OData
BPMonline OData
 
Страх и ненависть в Event Bus
Страх и ненависть в Event BusСтрах и ненависть в Event Bus
Страх и ненависть в Event Bus
 
Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»Олег Годовых «Страх и ненависть в Event Bus»
Олег Годовых «Страх и ненависть в Event Bus»
 
2013 09 14 http-протокол
2013 09 14 http-протокол2013 09 14 http-протокол
2013 09 14 http-протокол
 
Михаил Давыдов — Транспорт, Ajax
Михаил Давыдов — Транспорт, AjaxМихаил Давыдов — Транспорт, Ajax
Михаил Давыдов — Транспорт, Ajax
 
C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.C++ STL & Qt. Занятие 07.
C++ STL & Qt. Занятие 07.
 
Mihail davidov js-ajax
Mihail davidov js-ajaxMihail davidov js-ajax
Mihail davidov js-ajax
 
Алексей Бережной - http-протокол
Алексей Бережной - http-протоколАлексей Бережной - http-протокол
Алексей Бережной - http-протокол
 
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный вебHappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
HappyDev-lite-2016-весна 02 Дмитрий Пашкевич. Нетривиальный веб
 

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": "tyvik8@gmail.com"}}
  • 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
  • 19.
  • 20.
  • 21. HTTP/2.0 ● Бинарный ● Мультиплексирование запросов ● Сжатие заголовков ● Приоритезация ● SSL/TLS