2013 09 14 http-протокол
TRANSCRIPT
![Page 1: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/1.jpg)
![Page 2: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/2.jpg)
HTTP-протокол
Бережной Алексей разработчик интерфейсов
![Page 3: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/3.jpg)
3
![Page 4: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/4.jpg)
4
HTTP - один из основных протоколов
• HTML / JS / CSS • Изображения • Видео • Музыка • Сообщение между программами и серверами
• WebDAV, XML-RPC, SOAP • Можно использовать для обмена любыми данными
![Page 5: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/5.jpg)
5
![Page 6: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/6.jpg)
6
Уровни протоколов
Прикладной HTTP
Транспортный TCP
Сетевой IP
Канальный Ethernet
![Page 7: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/7.jpg)
7
TCP
Клиент Сервер врем
я
![Page 8: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/8.jpg)
8
TCP
Клиент Сервер врем
я
SYN
![Page 9: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/9.jpg)
9
TCP
Клиент Сервер врем
я
SYN
SYN / ACK
![Page 10: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/10.jpg)
10
TCP
Клиент Сервер врем
я
SYN
ACK
SYN / ACK
![Page 11: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/11.jpg)
11
TCP
Клиент Сервер врем
я
SYN
ACK
SYN / ACK
ESTABLISHED
![Page 12: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/12.jpg)
12
TCP
Клиент Сервер врем
я
SYN
ACK
SYN / ACK
ESTABLISHED
![Page 13: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/13.jpg)
13
Пропускная способность и задержка
Клиент Сервер
Клиент Сервер
clck.ru/8pZbw
![Page 14: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/14.jpg)
14
Задержка у мобильных
![Page 15: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/15.jpg)
15
Задержка у мобильных
![Page 16: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/16.jpg)
16
Задержка у мобильных
![Page 17: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/17.jpg)
17
Задержка у мобильных
clck.ru/8pZc6
![Page 18: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/18.jpg)
18
На что тратит время HTTP запрос
• DNS-запрос • Установка соединения • Отправка данных • Ожидание ответа • Получение данных
![Page 19: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/19.jpg)
19
История развития
• HTTP / 0.9 – 1992 год • HTTP / 1.0 – 1996 год • HTTP / 1.1 – 1999 год • HTTP / 2.0 – 2014 год
![Page 20: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/20.jpg)
20
Достоинства
• Простота • Расширяемость • Распространённость
![Page 21: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/21.jpg)
21
Недостатки
• Размер • Открытость • Нет механизма сохранения состояния • Сложности с авторизацией
![Page 22: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/22.jpg)
22
Адресация ресурсов в сети
![Page 23: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/23.jpg)
23
ftp://ftp.is.co.za/rfc/rfc1808.txt!!http://www.ietf.org/rfc/rfc2396.txt!!ldap://[2001:db8::7]/c=GB?objectClass?one!!mailto:[email protected]!!news:comp.infosystems.www.servers.unix!!tel:+1-816-555-1212!!telnet://192.0.2.16:80/!!urn:oasis:names:specification:docbook:dtd:xml:4.1.2!!
URI
![Page 24: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/24.jpg)
24
Структура URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь>
![Page 25: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/25.jpg)
25
Структура URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь>
ftp http https file mailto xmpp
![Page 26: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/26.jpg)
26
Структура URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь> user:password
user
![Page 27: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/27.jpg)
27
Структура URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь> localhost:8080
yandex.ru 213.180.204.11
![Page 28: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/28.jpg)
28
Структура URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь> somedir/somefile.html
![Page 29: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/29.jpg)
29
Структура URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь> text=haha&from=fx3&lr=213
![Page 30: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/30.jpg)
30
Структура URL
<схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь>
someanchor
![Page 31: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/31.jpg)
31
Допустимые символы
• Латинские буквы • Цифры • Специальные символы $-_.+!*'(), • Зарезервированные символы ; /? :@=&
clck.ru/26aMp clck.ru/27hjp
![Page 32: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/32.jpg)
32
Символ ; можно использовать вместо &
URI "http://host/?x=1&y=2"!!<a href="http://host/?x=1&y=2">!!<a href="http://host/?x=1&y=2">!
Допустимые символы
clck.ru/26B9r
![Page 33: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/33.jpg)
33
Кодирование URL
1. Кодирование символов 2. Запись кода в шестнадцатиричном представлении, и знак процента в начале
http://bla.com/Мир => http://bla.com/%D0%9C%D0%B8%D1%80
http://bla.com/мир => http://bla.com/%EC%E8%F0
![Page 34: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/34.jpg)
34
Кодирование URL (punycode)
• президент.рф => xn--d1abbgf6aiiy.xn--p1ai
![Page 35: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/35.jpg)
35
Структура протокола
![Page 36: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/36.jpg)
36
<Метод> <URI> HTTP/1.1!<Заголовки>!!Referer: http://www.yandex.ru/!
</Заголовки>!<Тело сообщения>!!param=value&a=1&b=2&c=3!
</Тело сообщения>!!
Структура протокола
![Page 37: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/37.jpg)
37
Структура протокола
![Page 38: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/38.jpg)
38
Структура протокола
![Page 39: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/39.jpg)
39
Структура протокола
![Page 40: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/40.jpg)
40
Структура протокола
![Page 41: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/41.jpg)
41
GET /foo/bar!!GET /foo/bar2 HTTP/1.0!!
Стартовая строка запроса
• GET <URI> (для HTTP / 0.9) • <метод> <URI> HTTP/<версия> (для HTTP / 1.0-‐1.1)
![Page 42: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/42.jpg)
42
HTTP/1.0 200 OK!
Стартовая строка ответа
• HTTP/<версия> <код состояния> <пояснение>
![Page 43: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/43.jpg)
43
Методы
• GET • POST • OPTIONS, HEAD, PUT, PATCH, TRACE, LINK,
UNLINK, CONNECT
clck.ru/26B9h clck.ru/26B9j
![Page 44: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/44.jpg)
44
GET /index.php?param=value&a=1&b=2&c=3 HTTP/1.1!<Заголовки>!
GET и POST
POST /index.php HTTP/1.1!<Заголовки>!<Тело сообщения>!!param=value&a=1&b=2&c=3!
</Тело сообщения>!!
![Page 45: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/45.jpg)
45
Коды состояния HTTP
![Page 46: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/46.jpg)
46
Коды состояния HTTP
• (1xx) Информационные ответ • (2xx) Ответы успеха • (3xx) Ответы перенаправления • (4xx) Ошибки клиента • (5xx) Ошибки сервера
clck.ru/28Tlv
![Page 47: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/47.jpg)
47
Ответы успеха (2xx)
![Page 48: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/48.jpg)
48
Ответы перенаправления (3xx)
![Page 49: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/49.jpg)
49
Ответы перенаправления (3xx)
![Page 50: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/50.jpg)
50
Ошибки клиента (4xx)
![Page 51: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/51.jpg)
51
Ошибки сервера (5xx)
![Page 52: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/52.jpg)
52
Заголовки HTTP
![Page 53: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/53.jpg)
53
Заголовки HTTP
• General Headers • Request Headers • Response Headers • Entity Headers
clck.ru/26Kxu
![Page 54: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/54.jpg)
54
Пример заголовков
![Page 55: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/55.jpg)
55
!HTTP/1.1 200 OK!Date: Mon, 17 Sep 2012 13:05:11 GMT!Transfer-Encoding: chunked!Connection: keep-alive!Pragma: no-cache!Cache-Control: no-cache, no-store, max-age=0, must-revalidate!Server: nginx!Vary: X-Real-SSL-Protocol!Content-Type: text/html; charset=UTF-8!Expires: Mon, 17 Sep 2012 13:05:11 GMT!Content-Encoding: gzip!
Пример заголовков
![Page 56: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/56.jpg)
56
X-Frame-Options
X-Frame-Options: DENY;!// запретит загрузку через <iframe>!!!!
Нестандартные заголовки
![Page 57: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/57.jpg)
57
X-Frame-Options
X-Frame-Options: DENY;!// запретит загрузку через <iframe>!!!X-Frame-Options: SAMEORIGIN; !// разрешит загрузку через <iframe>, но только если и <iframe>, и страница, его загружающая, находятся на одном домене!
Нестандартные заголовки
![Page 58: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/58.jpg)
58
X-Requested-With
X-Requested-With: XMLHttpRequest!// используется для идентификации ajax запросов
Нестандартные заголовки
![Page 59: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/59.jpg)
59
// используются чтобы пошутить =)!X-Awesome: If you found this header please email us about a writing job!!!X-Konkurentam: Preved!!X-ServerNickName: Wolverine!
Нестандартные заголовки
clck.ru/27QeD
![Page 60: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/60.jpg)
60
Кодирование содержимого
• Accept-Encoding: <compress | gzip | deflate | identity>
• Content-Encoding
clck.ru/28Tm5
![Page 61: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/61.jpg)
61
Кодирование передачи
• Transfer-Encoding: <chunked | compress | deflate | gzip | identity>
clck.ru/28Tm1
![Page 62: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/62.jpg)
62
HTTP/1.1 200 OK! Server: nginx/1.0.4! Date: Thu, 06 Oct 2011 16:14:01 GMT! Content-Type: text/html! Transfer-Encoding: chunked! Connection: keep-alive! Vary: Accept-Encoding! X-Powered-By: PHP/5.3.6!! 25! This is the data in the first chunk!! 1C! and this is the second one!! 3! con! 8! sequence! 0!
Кодирование передачи
![Page 63: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/63.jpg)
63
Постоянное соединение
• Connection: Keep-Alive | close
clck.ru/8pRkR
![Page 64: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/64.jpg)
64
Кэширование
![Page 65: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/65.jpg)
65
Кеширование
• Срок годности • Ревалидация
![Page 66: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/66.jpg)
66
Кэширование (срок годности)
GET
![Page 67: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/67.jpg)
67
Кэширование (срок годности)
GET
200 OK Cach-Control / Expires
![Page 68: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/68.jpg)
68
Кэширование (срок годности)
![Page 69: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/69.jpg)
69
Кэширование (ревалидация)
GET
![Page 70: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/70.jpg)
70
Кэширование (ревалидация)
GET
200 OK Last-Modified / ETag
![Page 71: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/71.jpg)
71
Кэширование (ревалидация)
GET If-Modified-Since / If-None-Match
![Page 72: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/72.jpg)
72
Кэширование (ревалидация)
GET If-Modified-Since / If-None-Match
304 Not Modified Last-Modified / ETag
![Page 73: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/73.jpg)
73
Кэширование (ревалидация)
GET If-Modified-Since / If-None-Match
304 Not Modified Last-Modified / ETag
![Page 74: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/74.jpg)
74
Cookie
![Page 75: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/75.jpg)
75
Cookie
• Аутентификация пользователя • Хранение информации о пользователе • Отслеживание переходов пользователя • Ведение статистики
![Page 76: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/76.jpg)
76
Cookie
GET
![Page 77: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/77.jpg)
77
Cookie
GET
200 OK Set-Cookie: name=value
![Page 78: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/78.jpg)
78
Cookie
GET/POST Cookie: name=value
![Page 79: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/79.jpg)
79
Кроме пары имя/значение, cookie может содержать срок действия, путь и доменное имя.
yandexuid=8187969851326274991; expires=Sat, 08 Jan 2022 09:43:11 GMT; path=/; domain=.yandex.ru!!userinfo=%7B%22resolution%22%3A%221600x1200%22%7D; expires=Thu, 15 Mar 2012 06:17:06 GMT; path=/; domain=.images.yandex.ru!
Атрибуты cookie
![Page 80: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/80.jpg)
80
Кроме пары имя/значение, cookie может содержать срок действия, путь и доменное имя.
yandexuid=8187969851326274991; expires=Sat, 08 Jan 2022 09:43:11 GMT; path=/; domain=.yandex.ru!!userinfo=%7B%22resolution%22%3A%221600x1200%22%7D; expires=Thu, 15 Mar 2012 06:17:06 GMT; path=/; domain=.images.yandex.ru!
Атрибуты cookie
![Page 81: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/81.jpg)
81
Кроме пары имя/значение, cookie может содержать срок действия, путь и доменное имя.
yandexuid=8187969851326274991; expires=Sat, 08 Jan 2022 09:43:11 GMT; path=/; domain=.yandex.ru!!userinfo=%7B%22resolution%22%3A%221600x1200%22%7D; expires=Thu, 15 Mar 2012 06:17:06 GMT; path=/; domain=.images.yandex.ru!
Атрибуты cookie
![Page 82: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/82.jpg)
82
Кроме пары имя/значение, cookie может содержать срок действия, путь и доменное имя.
yandexuid=8187969851326274991; expires=Sat, 08 Jan 2022 09:43:11 GMT; path=/; domain=.yandex.ru!!userinfo=%7B%22resolution%22%3A%221600x1200%22%7D; expires=Thu, 15 Mar 2012 06:17:06 GMT; path=/; domain=.images.yandex.ru!
Атрибуты cookie
![Page 83: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/83.jpg)
83
Кроме пары имя/значение, cookie может содержать срок действия, путь и доменное имя.
yandexuid=8187969851326274991; expires=Sat, 08 Jan 2022 09:43:11 GMT; path=/; domain=.yandex.ru!!userinfo=%7B%22resolution%22%3A%221600x1200%22%7D; expires=Thu, 15 Mar 2012 06:17:06 GMT; path=/; domain=.images.yandex.ru!
Атрибуты cookie
![Page 84: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/84.jpg)
84
!Set-Cookie: <name>=<value>[; expires=<date>]![; domain=<domain_name>][; path=<some_path>]![; secure][; HttpOnly]!
Атрибуты cookie, безопасность
clck.ru/28TQT
![Page 85: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/85.jpg)
85
Удаление cookie
• В конце сессии, если сookie не являются постоянными
• Дата истечения была указана и срок хранения вышел
• Браузер удалил сookie по запросу пользователя
![Page 86: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/86.jpg)
86
Cookieless domain
Cookie ~ 4KB clck.ru/28TQN
![Page 87: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/87.jpg)
87
HTTP Comet
clck.ru/27xOR
![Page 88: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/88.jpg)
88
HTTP Comet
clck.ru/27xOR
![Page 89: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/89.jpg)
89
HTTP Comet способы реализации
• Частый опрос (polling) • Длинный опрос (long-poll) • WebSocket
![Page 90: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/90.jpg)
90
HTTPS
• Расширение HTTP • HTTP работающий через SSL и TLS • Используются сертификаты • Не кешируется
clck.ru/28TQX
![Page 91: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/91.jpg)
91
HTTPS
• Расширение HTTP • HTTP работающий через SSL и TLS • Используются сертификаты • Не кешируется (миф clck.ru/28TQh)
clck.ru/28TQX
![Page 92: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/92.jpg)
92
SPDY HTML 2.0
![Page 93: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/93.jpg)
93
SPDY
clck.ru/8p4P2
![Page 94: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/94.jpg)
94
SPDY
• Сжатие HTTP заголовков • Бинарный протокол • Мультиплексирование • Система приоритетов • Полнодуплексный режим • Не нужно всё переписывать
clck.ru/8p4P2
![Page 95: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/95.jpg)
95
HTTP 2.0
• Разработка с 2012 г. по 2014 г. • Основан на SPDY
![Page 96: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/96.jpg)
96
Инструменты
![Page 97: 2013 09 14 http-протокол](https://reader034.vdocuments.net/reader034/viewer/2022050817/557f67c8d8b42aab368b4859/html5/thumbnails/97.jpg)
97
Инструменты
• tcpdump • Wireshark • Fiddler • Браузерные инструменты (HttpFox, FireBug,
Chrome DevTools, Opera Dragonfly)