SlideShare ist ein Scribd-Unternehmen logo
1 von 61
БРАУЗЕРНЫЕ API
ОБМЕНА ДАННЫМИ
какие и зачем
Павел Клименков
СЕТЕВАЯ БИБЛИЯ
ПЛАН НА ВЕЧЕР
Request
Response
Request
Response
Request
Response
Request
Response
MSXML2
XMLHTTP
XMLHttpReque
st
Классический XHR
ПРИМЕР
ОСОБЕННОСТИ
HTTP(S): GET, POST, PUT,
DELETE
Только текст (либо base64)
Перезапись http headers
Sync/async
GZip, deflate компрессия
ПОДДЕРЖКА
ВЕЗДЕ!
ЧЕГО НЕ ХВАТАЕТ
Поддержки файлов
Кросс-доменных запросов
Удобных POST запросов
XML HTTP REQUEST
LEVEL 2 (2011)
+ бинарные данные и файлы
+ поддержка html форм - объект FormData
+ кросс доменные запросы (CORS)
+ события о прогрессе загрузки
CORS
ЗАГОЛОВОК ЗАПРОСА
GET /secret.html HTTP/1.1
Host: microsoft.com
Origin: http://google.com
CORS
ЗАГОЛОВОК ОТВЕТА
HTTP/1.1 200 OK
Access-Control-Allow-Origin:
http://google.com
FORM DATA
ПОДДЕРЖКА
FETCH()
Пришел из service worker
Promise ориентированный
Почти как XMLHttpRequest
Сырой
FETCH()
ПОДДЕРЖКА
ПОДРЕЗЮМИРУЕМ
У нас есть XMLHttpRequest и fetch()
Они работают по HTTP(S)
Ориентированы на атомарный запрос: сделал -
свободен
Работают как с текстом, так и с файлами
Поддержка кросс доменных запросов
ЧТО ПЛОХО
Минус одно TCP соединение
Не годится для real time доставки событий с
сервера
> polling
> long polling
LONG POLLING
Request
Response
SERVER-SENT EVENTS
(2006)
EVENT SOURCE
Объект, который получает URL на входе, а на
выходе бросает передаваемые сервером
события
ОСОБЕННОСТИ
HTTP(s)
Автоматические восстановление
соединения
Отслеживание последнего полученного
события
Простой polyfill
SSE ЗАПРОС
GET /users/updates HTTP/1.1
Host: myserver.com
Accept: text/event-stream
Last-Event-ID: 43
SSE ОТВЕТ
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: text/event-stream
Transfer-Encoding: chunked
SSE СОБЫТИЯ
data: Simple message
data: {“message”: “JSON payload”}
event: user.update
data: {“changed”: “firstName”}
id: 42
event: broadcast
data: shutdown
1
2
3
4
ПРИМЕР ИСПОЛЬЗОВАНИЯ
Поток координат движущегоcя объекта на
карте
Поток измененных ID объектов, для сброса
клиентских кэшей
ПОДДЕРЖКА
ЧТО НЕ ОЧЕНЬ
Нет поддержки IE (но простой polyfill)
Только текст (но есть base64)
Нельзя дополнить запрос
Request
Response
WEB SOCKET
2010
WEB SOCKET
WebSocket это API, который позволяет
отправлять и получать текстовые и бинарные
сообщения серверу сколько угодно раз и в
любом порядке
ОСОБЕННОСТИ
Начинается как HTTP(S), но потом переходим
на свой бинарный формат сообщений
ws:// и wss:// вместо http:// и https://
как текстовые, так и бинарные данные
ПРИМЕРЫ
Онлайн чат
Доставка серверных событий с обратной
связью
Прогрессивная загрузка медиа
КАК Я ВНЕДРЯЛ WEB SOCKET
В СВОЙ СЕРВЕР
Более сложный протокол, чем HTTP
Управление состоянием соединения на
клиенте
Различные спецификации (Hybi 13)
SSE был бы лучше
ПОДДЕРЖКА
ЧТО НЕ ТАК С WEBSOCKET
Сложный протокол (если придется внедрять)
Нет сжатия (что-то эксперементальное в
Chrome)
ЧТО НЕ ТАК СО ВСЕМИ:
XHR, SSE, WEBSOCKET
Нет мультиплексирования.
Большой запрос тормозит все остальные
Всего 6 доступных TCP соединений.
Каждый API сжирает по одному
WEBRTC
2010
WebRTC это API для двунаправленной
передачи текста и бинарного медиа напрямую
между клиентами
ОСОБЕННОСТИ
UDP вместо TCP
Текст и банарные данные
Встроенная поддержка медиа данных
peer-to-peer
Обязательное шифрование не-медиа данных
ЭТО НЕ ТОЛЬКО
SKYPE KILLER
ЗАЧЕМ ЭТО НУЖНО
Онлайновые игрушки
Обмен данными, которые важны клиенту, но
не интересны серверу
Ок, сделать лучший скайп
ПОЧЕМУ WEBRTC
ТАКОЙ СЛОЖНЫЙ?
2 ПРИЧИНЫ
Клиентам как-то нужно найти друг друга
Нужно провести UDP траффик через NAT
SIGNALING CHANNEL
Чтобы начать соединение, нужно обменяться
Offer и Answer через заранее известный
канал
В КОМПЛЕКТЕ КАНАЛА НЕТ!
Как signaling channel можно использовать:
Сервер + WebSocket
Сервер + XHR,
Курьера
Отправить SMS товарищу
NAT TRAVERSAL
Куда слать UDP?
ВЫХОД: STUN, TURN
ВСЕ ОБХОДНЫЕ МАНЕВРЫ
ЭТО ICE
ICE - interactive connectivity
establishment
Используя STUN и TURN
сервера, он перебирает пары
IP:Port (ICE candidate), по
которым можно подключиться
снаружи
И ВСЁ ВМЕСТЕ
1) Нам нужен signaling channel
2) Нам нужен список STUN/TURN серверов
3) RTCPeerConnection поможет создать Offer
и найти ICE кандидатов
4) Всё это нужно передать через signaling
channel другой стороне
5) Через signaling channel мы получим эти
данные от второго клиента
ПОДДЕРЖКА
ЧТО ПЛОХО
Нет поддержки IE, Safari
Сложный polyfill
Сложно использовать
Сырая реализация
ИТАК
XMLHttpRequest Server-sent events
WebSocket WebRTC
fetch()
ЕЩЕ РАЗ О КНИГЕ
Закрывает основные
вопросы по сетям
Полная картина
браузерных сетевых API
СПАСИБО!
/pasha.klimenkov
/in/pavelklimenkov
DotsAndBrackets.com

Weitere ähnliche Inhalte

Was ist angesagt?

Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...KazHackStan
 
WebSockets
WebSocketsWebSockets
WebSocketsplusnin
 
Доставка данных в реальном времени.
Доставка данных в реальном времени. Доставка данных в реальном времени.
Доставка данных в реальном времени. beshkenadze
 
Aleksey Androsov
Aleksey AndrosovAleksey Androsov
Aleksey Androsovyaevents
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложенийRoman Brovko
 
17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщенияRoman Brovko
 
07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервераRoman Brovko
 
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"Yuriy Shepitko
 
Что надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчикуЧто надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчикуАлександр Майоров
 
Android Telegram S Optimizations
Android Telegram S OptimizationsAndroid Telegram S Optimizations
Android Telegram S OptimizationsStepan Korshakov
 
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011Sergey Schadnyh
 
Инструкция по переходу на HTTPs
Инструкция по переходу на HTTPsИнструкция по переходу на HTTPs
Инструкция по переходу на HTTPsСергей Кокшаров
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_rumcroitor
 
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)Positive Hack Days
 
Стажировка 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/IPSmartTools
 
05 db server_deployment_ru
05 db server_deployment_ru05 db server_deployment_ru
05 db server_deployment_rumcroitor
 
Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"Provectus
 
Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000NaZapad
 

Was ist angesagt? (20)

Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
Шамбулов У. К. (Казахстан), ГТС. Анализ и исследование инцидентов информацион...
 
WebSockets
WebSocketsWebSockets
WebSockets
 
Доставка данных в реальном времени.
Доставка данных в реальном времени. Доставка данных в реальном времени.
Доставка данных в реальном времени.
 
Aleksey Androsov
Aleksey AndrosovAleksey Androsov
Aleksey Androsov
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений
 
17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения
 
07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера07 - Web-технологии. Web-сервера
07 - Web-технологии. Web-сервера
 
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
Презентация "Web-интерфейс для автоматизации и мониторинга OpenVPN сети"
 
Major mistakes in site moving
Major mistakes in site movingMajor mistakes in site moving
Major mistakes in site moving
 
Что надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчикуЧто надо знать о HTTP/2 Frontend разработчику
Что надо знать о HTTP/2 Frontend разработчику
 
Android Telegram S Optimizations
Android Telegram S OptimizationsAndroid Telegram S Optimizations
Android Telegram S Optimizations
 
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
Veeam Backup in CV PROTEK for VMware vForum Almaty 2011
 
Инструкция по переходу на HTTPs
Инструкция по переходу на HTTPsИнструкция по переходу на HTTPs
Инструкция по переходу на HTTPs
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_ru
 
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
Positive Hack Days. Баранов. DNS Rebinding возвращается (0-day)
 
Стажировка 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
 
Протокол HTTP
Протокол HTTPПротокол HTTP
Протокол HTTP
 
05 db server_deployment_ru
05 db server_deployment_ru05 db server_deployment_ru
05 db server_deployment_ru
 
Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"Ян Жабин "Преимущества использования протокола HTTP/2"
Ян Жабин "Преимущества использования протокола HTTP/2"
 
Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000Как делать качественные PBN и следить за ними когда их более 1000
Как делать качественные PBN и следить за ними когда их более 1000
 

Andere mochten auch

Yeoman generator своими руками
Yeoman generator своими рукамиYeoman generator своими руками
Yeoman generator своими рукамиchaykaborya
 
Web app syncronizations, Sockets, tricks and hacks
Web app syncronizations, Sockets, tricks and hacks Web app syncronizations, Sockets, tricks and hacks
Web app syncronizations, Sockets, tricks and hacks Egor Malkevich
 
Functional programming techniques in regular JavaScript
Functional programming techniques in regular JavaScriptFunctional programming techniques in regular JavaScript
Functional programming techniques in regular JavaScriptPavel Klimiankou
 
Приёмы функционального программирования в обычном JavaScript
Приёмы функционального программирования в обычном JavaScriptПриёмы функционального программирования в обычном JavaScript
Приёмы функционального программирования в обычном JavaScriptPavel Klimiankou
 
А готов ли ваш проект к лету?
А готов ли ваш проект к лету?А готов ли ваш проект к лету?
А готов ли ваш проект к лету?Elizaveta Selivanova
 
Performance: в борьбе за миллисекунды
Performance: в борьбе за миллисекундыPerformance: в борьбе за миллисекунды
Performance: в борьбе за миллисекундыAndrei Kozyakov
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииAndrey Rebrov
 
Методологии верстки
Методологии версткиМетодологии верстки
Методологии версткиElizaveta Selivanova
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуAndrey Rebrov
 

Andere mochten auch (11)

Yeoman generator своими руками
Yeoman generator своими рукамиYeoman generator своими руками
Yeoman generator своими руками
 
Web app syncronizations, Sockets, tricks and hacks
Web app syncronizations, Sockets, tricks and hacks Web app syncronizations, Sockets, tricks and hacks
Web app syncronizations, Sockets, tricks and hacks
 
Functional programming techniques in regular JavaScript
Functional programming techniques in regular JavaScriptFunctional programming techniques in regular JavaScript
Functional programming techniques in regular JavaScript
 
Приёмы функционального программирования в обычном JavaScript
Приёмы функционального программирования в обычном JavaScriptПриёмы функционального программирования в обычном JavaScript
Приёмы функционального программирования в обычном JavaScript
 
А готов ли ваш проект к лету?
А готов ли ваш проект к лету?А готов ли ваш проект к лету?
А готов ли ваш проект к лету?
 
Performance: в борьбе за миллисекунды
Performance: в борьбе за миллисекундыPerformance: в борьбе за миллисекунды
Performance: в борьбе за миллисекунды
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюции
 
Методологии верстки
Методологии версткиМетодологии верстки
Методологии верстки
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почему
 
Что такое Docker
Что такое DockerЧто такое Docker
Что такое Docker
 
React и redux
React и reduxReact и redux
React и redux
 

Ähnlich wie Браузерные API обмена данными: какие и зачем

Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)Sergey Skvortsov
 
МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2Dima Dzuba
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusCisco Russia
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Socketsguest092df8
 
Лекция #2. Принцип организации World Wide Web
Лекция #2. Принцип организации World Wide WebЛекция #2. Принцип организации World Wide Web
Лекция #2. Принцип организации World Wide WebЯковенко Кирилл
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSYandex
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Socketsrit2010
 
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.Alexander Frolov
 
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...Ontico
 
Презентация "Это что-то новенькое"
Презентация "Это что-то новенькое"Презентация "Это что-то новенькое"
Презентация "Это что-то новенькое"Дмитрий Костюк
 
архитектура и принципы работы типового Web приложения
архитектура и принципы работы типового Web приложенияархитектура и принципы работы типового Web приложения
архитектура и принципы работы типового Web приложенияVladyslav Leikykh
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутриHappyDev-lite
 
Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1Technopark
 
SignalR
SignalRSignalR
SignalRmstDe3
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоFuenteovejuna
 
Phalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkPhalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkOleksandr Torosh
 
Темное настоящее и светлое будущее WebRTC
Темное настоящее и светлое будущее WebRTCТемное настоящее и светлое будущее WebRTC
Темное настоящее и светлое будущее WebRTCVoximplant
 

Ähnlich wie Браузерные API обмена данными: какие и зачем (20)

Periculum est in mora
Periculum est in moraPericulum est in mora
Periculum est in mora
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)
 
МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2МАИ, Сети ЭВМ, Лекция №2
МАИ, Сети ЭВМ, Лекция №2
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Sockets
 
Лекция #2. Принцип организации World Wide Web
Лекция #2. Принцип организации World Wide WebЛекция #2. Принцип организации World Wide Web
Лекция #2. Принцип организации World Wide Web
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPS
 
Web sockets
Web socketsWeb sockets
Web sockets
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Sockets
 
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
 
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...
Разработка кроссплатформенного фреймворка на С++ для мобильных платформ / Вла...
 
Презентация "Это что-то новенькое"
Презентация "Это что-то новенькое"Презентация "Это что-то новенькое"
Презентация "Это что-то новенькое"
 
архитектура и принципы работы типового Web приложения
архитектура и принципы работы типового Web приложенияархитектура и принципы работы типового Web приложения
архитектура и принципы работы типового Web приложения
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
 
Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1
 
SignalR
SignalRSignalR
SignalR
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
 
Phalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP FrameworkPhalcon - самый быстрый PHP Framework
Phalcon - самый быстрый PHP Framework
 
Темное настоящее и светлое будущее WebRTC
Темное настоящее и светлое будущее WebRTCТемное настоящее и светлое будущее WebRTC
Темное настоящее и светлое будущее WebRTC
 
Fiddler
FiddlerFiddler
Fiddler
 

Mehr von Pavel Klimiankou

Troubleshooting .net core on linux
Troubleshooting .net core on linuxTroubleshooting .net core on linux
Troubleshooting .net core on linuxPavel Klimiankou
 
Browser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationBrowser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationPavel Klimiankou
 
Кратчайшая история JavaScript
Кратчайшая история JavaScriptКратчайшая история JavaScript
Кратчайшая история JavaScriptPavel Klimiankou
 
Game physics in JavaScript
Game physics in JavaScriptGame physics in JavaScript
Game physics in JavaScriptPavel Klimiankou
 
Игровая физика в JavaScript
Игровая физика в JavaScriptИгровая физика в JavaScript
Игровая физика в JavaScriptPavel Klimiankou
 

Mehr von Pavel Klimiankou (7)

Troubleshooting .net core on linux
Troubleshooting .net core on linuxTroubleshooting .net core on linux
Troubleshooting .net core on linux
 
Browser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationBrowser APIs for data exchange: types and application
Browser APIs for data exchange: types and application
 
Кратчайшая история JavaScript
Кратчайшая история JavaScriptКратчайшая история JavaScript
Кратчайшая история JavaScript
 
What is Docker
What is DockerWhat is Docker
What is Docker
 
Chrome Extensions
Chrome ExtensionsChrome Extensions
Chrome Extensions
 
Game physics in JavaScript
Game physics in JavaScriptGame physics in JavaScript
Game physics in JavaScript
 
Игровая физика в JavaScript
Игровая физика в JavaScriptИгровая физика в JavaScript
Игровая физика в JavaScript
 

Браузерные API обмена данными: какие и зачем