Какие ключевые события произошли в 1992 году. Какие исторические процессы начались в этот период. Как 1992 год повлиял на последующее развитие России и мира.
Распад СССР и становление новой России
1992 год стал первым полным годом существования России как независимого государства после распада СССР. Этот период характеризовался глубокими политическими и экономическими преобразованиями:
- Начало рыночных реформ под руководством Егора Гайдара («шоковая терапия»)
- Либерализация цен и гиперинфляция
- Массовая приватизация государственных предприятий
- Формирование новых органов государственной власти
Как эти процессы повлияли на жизнь обычных россиян? Либерализация цен привела к резкому обнищанию значительной части населения. Многие люди потеряли все свои сбережения из-за гиперинфляции. В то же время появился класс предпринимателей, сумевших воспользоваться новыми экономическими возможностями.
Ключевые международные события 1992 года
На международной арене 1992 год также ознаменовался рядом важных событий:
- Подписание Маастрихтского договора о создании Европейского союза
- Гражданская война в Югославии
- Вывод российских войск из Польши и стран Балтии
- Начало миротворческой операции ООН в Сомали
Какое значение имели эти события? Маастрихтский договор заложил основу современного Европейского союза. Конфликт в Югославии показал неспособность мирового сообщества предотвратить кровопролитие в Европе после окончания холодной войны. Вывод российских войск ознаменовал окончательное завершение советского военного присутствия в Восточной Европе.
Научные достижения и открытия 1992 года
В 1992 году произошел ряд важных научных событий:
- Открытие первой экзопланеты (планеты за пределами Солнечной системы)
- Запуск космического аппарата Mars Observer для исследования Марса
- Первая успешная пересадка искусственно выращенной трахеи человеку
Какое значение имели эти научные достижения? Открытие экзопланет положило начало новой эре в астрономии и поиске внеземной жизни. Исследования Марса расширили наши знания о соседней планете. Успехи в области регенеративной медицины открыли новые возможности для лечения ранее неизлечимых заболеваний.
Культурные события 1992 года
В сфере культуры и искусства 1992 год также был богат на события:
- Выход фильма «Основной инстинкт» с Шэрон Стоун
- Премьера мультфильма «Аладдин» студии Disney
- Выпуск альбома «Automatic for the People» группы R.E.M.
- Открытие Евродиснейленда под Парижем
Как эти события повлияли на массовую культуру? «Основной инстинкт» стал одним из самых обсуждаемых и противоречивых фильмов десятилетия. «Аладдин» укрепил позиции Disney как лидера анимационной индустрии. Альбом R.E.M. считается одним из лучших в истории альтернативного рока. Открытие Евродиснейленда способствовало глобальному распространению американской поп-культуры.
Экономические тенденции 1992 года
В мировой экономике 1992 год характеризовался следующими тенденциями:
- Рецессия в США и ряде других развитых стран
- Кризис Европейской валютной системы («Черная среда»)
- Начало экономических реформ в Китае
- Рост инвестиций в страны Юго-Восточной Азии
Какие последствия имели эти экономические процессы? Рецессия в развитых странах замедлила темпы мирового экономического роста. Кризис Европейской валютной системы показал уязвимость фиксированных обменных курсов. Реформы в Китае заложили основу для превращения страны в экономическую сверхдержаву. Инвестиции в Юго-Восточную Азию способствовали быстрому росту «азиатских тигров».
Спортивные достижения 1992 года
В мире спорта 1992 год запомнился следующими событиями:
- Зимние Олимпийские игры в Альбервиле (Франция)
- Летние Олимпийские игры в Барселоне (Испания)
- Победа сборной Дании по футболу на чемпионате Европы
- Первое участие объединенной команды СНГ в Олимпийских играх
Чем примечательны эти спортивные события? Олимпиада в Барселоне стала последней, в которой участвовала объединенная команда бывших советских республик. Победа Дании на Евро-1992 считается одной из главных сенсаций в истории футбола. Участие команды СНГ символизировало переходный период после распада СССР.
Технологические инновации 1992 года
В сфере технологий 1992 год ознаменовался рядом важных нововведений:
- Появление первого смартфона IBM Simon
- Запуск текстового редактора Microsoft Word для Windows 3.0
- Создание языка программирования Python
- Начало коммерческого использования технологии SMS
Какое влияние оказали эти технологические инновации? IBM Simon стал предшественником современных смартфонов. Microsoft Word для Windows способствовал распространению персональных компьютеров в офисах. Python стал одним из самых популярных языков программирования. SMS-сообщения революционизировали мобильную связь.
Экологические проблемы и инициативы 1992 года
В сфере экологии 1992 год запомнился следующими событиями:
- Конференция ООН по окружающей среде и развитию в Рио-де-Жанейро
- Подписание Рамочной конвенции ООН об изменении климата
- Начало международной кампании по защите тропических лесов
- Авария на нефтяном танкере у берегов Испании
Какое значение имели эти экологические события? Конференция в Рио-де-Жанейро привлекла внимание мировой общественности к проблемам устойчивого развития. Рамочная конвенция заложила основу для международного сотрудничества в борьбе с изменением климата. Кампания по защите тропических лесов способствовала сохранению биоразнообразия. Авария танкера показала опасность морских перевозок нефти для окружающей среды.
1992 год — Wikiwand
- Введение1992 год
- СобытияЯнварьФевральМартАпрельМайИюньИюльАвгустСентябрьОктябрьНоябрьДекабрьБез точных датПродолжающиеся события
- Наука
- Спорт
- Музыка
- Кино
- Телевидение
- Театр
- Литература
- Компьютерные игры
- Авиация
- Общественный транспорт
- Метрополитен
- Железнодорожный транспорт
- Государственные флаги новых государств
- Персоны года
- РодилисьОктябрь
- Скончались
- Нобелевские премии
- См. также
- Примечания
- Ссылки
1992 (ты́сяча девятьсо́т девяно́сто второ́й) год по григорианскому календарю — високосный год, начинающийся в среду. Это 1992 год нашей эры, 2 год 10-го десятилетия XX века 2-го тысячелетия, 3 год 1990-х годов. Он закончился 30 лет назад.
Календарь на 1992 год | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Январь
| Февраль
| Март
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Апрель
| Май
| Июнь
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Июль
| Август
| Сентябрь
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Октябрь
| Ноябрь
| Декабрь
|
2-е тысячелетие | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XVIII век — XIX век — XX век — XXI век — XXII век | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Хронологическая таблица |
Объявлен ООН Международным годом космоса.
Первый год постсоветской эпохи.
Сергей Трейсер estatísticas do vídeo
Clicar para compartilhar: Confira as estatísticas de vídeo Youtube de Сергей Трейсер I encontrados no youtubers.me/5d179db3-fe41-401b-af0d-f14d2a229a36 Clique para twittar: Confira as estatísticas de vídeo Youtube de Сергей Трейсер I encontrados no youtubers.me/5d179db3-fe41-401b-af0d-f14d2a229a36
Сергей Трейсер toda a lista de vídeos Youtube
Vídeo | Publicados | visualizações de vídeos | Comentários | gostos | Ódios | Ganhos estimados |
---|---|---|---|---|---|---|
Восстанавливаю лесной лагерь Виталика Игнатюка | 24.10.2021 | 64,839 | 493 | 6,901 | 187 | $ 24 — $ 145 |
ЗАБРОШЕННЫЙ ГОРОД ПРИЗРАК ПОЧЕМУ ЗДЕСЬ ЖИВУТ ЛЮДИ?! | ЦУКРОВАРОВ | 29. 09.2021 | 47,673 | 472 | 5,730 | 146 | $ 17 — $ 107 |
Это круче любого клада находка 10 век Камрад и @Виталий Зеленый | 03.08.2021 | 52,045 | 321 | 4,765 | 277 | $ 19 — $ 117 |
Заблудились под землей в затопленной шахте @Виталий Зеленый @ДАНГИОН | 22.07.2021 | 43,691 | 291 | 5,012 | 199 | $ 16 — $ 98 |
300 км к заброшке на ПИТБАЙКЕ по бездорожью дальняк в Таракановский Форт | 06.05.2021 | 61,208 | 799 | 8,282 | 258 | $ 22 — $ 137 |
Откачали воду с землянки после потопа Сергей Трейсер | 07.04.2021 | 100,080 | 1,039 | 10,023 | 281 | $ 37 — $ 225 |
ДОМ ПОД ЗЕМЛЕЙ , ЗЕМЛЯНКУ НАШЛИ ВАНДАЛЫ , ЧТО С НЕЙ СЛУЧИЛОСЬ ? | 28. 03.2021 | 119,027 | 3,756 | 14,986 | 290 | $ 44 — $ 267 |
Построил дом на дереве , пол готов , начал делать стены 2ч | 23.03.2021 | 137,553 | 1,502 | 15,064 | 370 | $ 51 — $ 309 |
СТРОЮ ДОМИК НА ДЕРЕВЕ Сергей Трейсер | 15.03.2021 | 92,268 | 1,353 | 13,864 | 415 | $ 34 — $ 207 |
ИНТЕРНЕТ в ЗЕМЛЯНКУ Креосан и Супер Сус в гостях у Сергея Трейсера | 23.02.2021 | 123,844 | 952 | 11,959 | 240 | $ 46 — $ 278 |
СТРОЮ ДОМ ПОД ЗЕМЛЕЙ Сделал двухъярусную кровать Виталик Игнатюк Интересный и Фикус | 09.01.2021 | 289,631 | 1,388 | 23,210 | 443 | $ 108 — $ 651 |
Новый Год в Землянке Супер Сус Интересный и Фикус Камрад и Сергей Трейсер | 31. 12.2020 | 234,229 | 1,562 | 21,279 | 645 | $ 87 — $ 527 |
Провел свет в Землянку и сделал пол , строю дом под землей в Чернобыле | 13.12.2020 | 536,260 | 6,703 | 56,978 | 1,277 | $ 201 — $ 1.21K |
Строю дом под землей первая ночевка в землянке 24 часа | 08.12.2020 | 371,388 | 2,940 | 27,883 | 843 | $ 139 — $ 835 |
Строим дом под землей в Чернобыле крыша землянки готова 3 часть | 11.11.2020 | 302,031 | 3,321 | 22,897 | 697 | $ 113 — $ 679 |
Восстанавливаем и крушим технику в Чернобыле смогли ЗАВЕСТИ ТРАКТОР В ЧЗО ? | 07.11.2020 | 149,165 | 1,192 | 13,339 | 796 | $ 55 — $ 335 |
Построили дом под землей в Чернобыле , лестница в землянке готова | 02. 11.2020 | 262,671 | 1,554 | 23,397 | 557 | $ 98 — $ 591 |
СТРОЮ ДОМ ПОД ЗЕМЛЕЙ НОВАЯ ЗЕМЛЯНКА В ЧЕРНОБЫЛЕ | 26.10.2020 | 173,311 | 1,628 | 18,422 | 479 | $ 64 — $ 389 |
Выживание 24 часа в Чернобыле Построили землянку в лесу | 23.02.2020 | 205,867 | 1,549 | 28,993 | 659 | $ 77 — $ 463 |
НАШЛИ В ЧЕРНОБЫЛЕ ЗАБРОШЕННУЮ ЦЕРКОВЬ КОТОРОЙ 220 ЛЕТ | 15.02.2020 | 177,058 | 943 | 17,589 | 376 | $ 66 — $ 398 |
Сергей Трейсер total de visualizações de vídeo contar estatísticas
Сергей Трейсер assinantes contagem total de estatísticas
Clicar para compartilhar: Confira as estatísticas de vídeo Youtube de Сергей Трейсер I encontrados no youtubers. me/5d179db3-fe41-401b-af0d-f14d2a229a36 Clique para twittar: Confira as estatísticas de vídeo Youtube de Сергей Трейсер I encontrados no youtubers.me/5d179db3-fe41-401b-af0d-f14d2a229a36
Контекст трассировки
Контекст трассировкиРекомендация W3C
Подробнее об этом документе- Эта версия:
- https://www.w3.org/TR/2021/REC-trace-context-1-20211123/
- Последняя опубликованная версия:
- https://www.w3.org/TR/trace-context-1/
- Последний черновик редактора:
- https://w3c.github.io/trace-context/
- История:
- https://www.w3.org/standards/history/trace-context-1
- История коммитов
- Отчет о внедрении:
- https://github.com/w3c/trace-context/#reference-implementations
- Редакторы:
- Сергей Канжелев (Microsoft)
- Морган Маклин (Google)
- Алоис Рейтбауэр (Dynatrace)
- Богдан Друтю (Google)
- Ник Молнар (Майкрософт)
- Юрий Шкуро (приглашенный эксперт)
- Обратная связь:
- GitHub w3c/контекст трассировки (вытягивающие запросы, новый выпуск, открытые вопросы)
- public-trace-context@w3. org с темой trace-context (архивы)
- Errata:
- Errata существует.
- Обсуждения
- Мы на Гиттере.
Смотрите также перевод .
авторское право © 2021 W3C ® ( Массачусетский технологический институт , ERCIM , Кейо, Бейхан). W3C обязанность, товарный знак и применяются правила лицензирования разрешительного документа.
Abstract
Эта спецификация определяет стандартные заголовки HTTP и формат значений для распространения контекстной информации, которая позволяет использовать сценарии распределенной трассировки. Спецификация стандартизирует способ отправки и изменения контекстной информации между службами. Контекстная информация однозначно идентифицирует отдельные запросы в распределенной системе, а также определяет средства для добавления и распространения контекстной информации, специфичной для поставщика.
Статус этого документа
В этом разделе описывается статус этого документа на момент его публикации. Список текущих W3C публикации и последнюю редакцию этого технического отчета можно найти в указателе технических отчетов W3C по адресу https://www.w3.org/TR/.
Эта спецификация включает редакционные обновления после Рекомендации W3C от 6 февраля 2020 года.
Этот документ был опубликован Рабочей группой по распределенной трассировке как Рекомендация с использованием Трек рекомендаций.
W3C рекомендует широкое распространение этой спецификации в качестве стандарта для паутина.
Рекомендация W3C — это спецификация, которая после всестороннего достижения консенсуса одобрена W3C и ее членами, и содержит обязательства членов рабочей группы по бесплатному лицензированию реализации.
Этот документ был подготовлен группой действует под 1 августа 2017 г. Патент W3C Политика. W3C поддерживает публичный список любых патентных раскрытий сделанные в связи с результатами группа; эта страница также включает инструкции по раскрытию патента. Лицо, имеющее фактическое знание патента, который, по мнению человека, содержит Основные претензии обязаны раскрывать информацию в соответствии с раздел 6 Патентной политики W3C .
Настоящий документ регулируется 2 ноября 2021 W3C Рабочий документ.
1. СоответствиеКак и разделы, помеченные как ненормативные, все авторские рекомендации, диаграммы, примеры и примечания в данной спецификации не являются нормативными. Все остальное в этой спецификации является нормативным.
Ключевые слова МОЖЕТ , ДОЛЖЕН , НЕ ДОЛЖЕН , СЛЕДУЕТ и НЕ ДОЛЖЕН в этом документе следует интерпретировать, как описано в ПП 14 [ RFC2119 ] [ RFC8174 ] когда и только когда они появляются во всех столицах, как показано здесь.
2. Обзор 2.1 Постановка проблемыРаспределенная трассировка — это методология, реализованная с помощью инструментов трассировки для отслеживания, анализа и отладки транзакции в нескольких программных компонентах. Как правило, распределенная трассировка проходит более чем по одному компоненту, что требует уникальной идентификации во всех участвующих системах. Распространение контекста трассировки проходит по этому уникальному идентификатору. Сегодня распространение контекста трассировки реализуется индивидуально каждым поставщиком трассировки. В средах с несколькими поставщиками это вызывает проблемы совместимости, например:
- Трассировки, собранные разными поставщиками трассировки, не могут быть сопоставлены, так как нет общего уникального идентификатора.
- Трассировки, которые пересекают границы между различными поставщиками трассировки, не могут быть распространены, так как не существует единого согласованного набора идентификаторов, которые пересылаются.
- Метаданные поставщика могут быть удалены посредниками.
- Поставщики облачных платформ, посредники и поставщики услуг не могут гарантировать поддержку распространения контекста трассировки, поскольку не существует стандарта, которому нужно следовать.
В прошлом эти проблемы не оказывали существенного влияния, так как большинство приложений отслеживались одним поставщиком трассировки и оставались в пределах границ одного поставщика платформы. Сегодня все большее число приложений сильно распределены и используют несколько сервисов промежуточного программного обеспечения и облачных платформ.
Это преобразование современных приложений требует стандарта распределенного распространения контекста трассировки.
2.2 РастворСпецификация контекста трассировки определяет универсально согласованный формат для обмена данными распространения контекста трассировки, называемый контекстом трассировки . Контекст трассировки решает проблемы, описанные выше, с помощью
- , предоставляя уникальный идентификатор для отдельных трассировок и запросов, позволяя связать данные трассировки от нескольких поставщиков вместе.
- , обеспечивающий согласованный механизм для пересылки данных трассировки конкретного поставщика и предотвращения неработающих трассировок, когда несколько инструментов трассировки участвуют в одной транзакции.
- , обеспечивающий отраслевой стандарт, который могут поддерживать посредники, платформы и поставщики оборудования.
Унифицированный подход к распространению данных трассировки улучшает видимость поведения распределенных приложений, облегчая анализ проблем и производительности. Взаимодействие, обеспечиваемое контекстом трассировки, является необходимым условием для управления современными приложениями на основе микрослужб.
2.3 Обзор дизайнаКонтекст трассировки разделен на два отдельных поля распространения, поддерживающих совместимость и расширяемость в зависимости от поставщика:
-
traceparent
описывает положение входящего запроса в графе трассировки в переносимом формате фиксированной длины. Его дизайн ориентирован на быстрый синтаксический анализ. Каждый инструмент трассировки ДОЛЖЕН правильно установитьtraceparent
, даже если он полагается только на информацию, специфичную для поставщика, вtracestate
-
tracestate
расширяетtraceparent
специфичными для поставщика данными, представленными набором пар имя/значение. Хранение информации вtracestate
является необязательным.
Инструменты трассировки могут обеспечить два уровня совместимого поведения при взаимодействии с контекстом трассировки:
- Как минимум, они ДОЛЖНЫ распространять заголовки
traceparent
иtracestate
и гарантировать, что трассировки не нарушены. Такое поведение также называется пересылкой трассировки. - Кроме того, они МОГУТ принять участие в трассировке, изменив заголовок
traceparent
и соответствующие частизаголовок tracestate
, содержащий их собственную информацию. Это также называется участием в трассировке.
Средство трассировки может изменить это поведение для каждого отдельного запроса к отслеживаемому компоненту.
4. Модель обработкиЭтот раздел не является нормативным.
В этом разделе приведен пошаговый пример того, как поставщик трассировки получает запрос с заголовками контекста трассировки, обрабатывает запрос и затем, возможно, пересылает его. Это описание можно использовать в качестве справочного материала при реализации системы трассировки, совместимой с контекстом трассировки, промежуточного программного обеспечения (например, прокси-сервера или шины обмена сообщениями) или облачной службы.
4.1 Модель обработки для работы с контекстом трассировки Эта модель обработки описывает поведение поставщика, который изменяет и пересылает заголовки контекста трассировки. Работа модели зависит от того, получен ли заголовок traceparent
.
Если заголовок traceparent не получен:
- Поставщик проверяет входящий запрос на
traceparent
иtracestate 9Заголовок 0186.
- Поскольку заголовок
traceparent
не получен, поставщик создает новыйtrace-id
иparent-id
, которые представляют текущий запрос. - Если заголовок
tracestate
получен без сопутствующего заголовкаtraceparent
, он недействителен и ДОЛЖЕН быть отброшен. - Поставщику СЛЕДУЕТ создать новый заголовок
tracestate
и добавить новую пару ключ/значение. - Поставщик устанавливает заголовок
traceparent
иtracestate
для исходящего запроса.
Если получен заголовок traceparent
:
- Поставщик проверяет входящий запрос на
traceparent
и заголовок tracestate . - Поскольку присутствует заголовок
traceparent
, поставщик пытается проанализировать версиюзаголовок traceparent
.- Если версия не может быть проанализирована , поставщик создает новый заголовок
traceparent
и удаляетtracestate
. - Если номер версии выше , чем поддерживается трассировщиком, поставщик использует формат, определенный в этой спецификации (
00
), для анализаидентификатора трассировки
иидентификатора родителя
. Поставщик будет анализировать только значенияфлагов трассировки
, поддерживаемые этой версией этой спецификации, и игнорировать все остальные значения. Если синтаксический анализ не удается, поставщик создает новыйtraceparent
заголовок и удаляетtracestate
. Поставщики будут устанавливать все непроанализированные/неизвестныефлаги трассировки
в 0 для исходящих запросов. - Если поставщик поддерживает номер версии , он проверяет
идентификатор трассировки
иидентификатор родителя
. Еслиtrace-id
,parent-id
илиtrace-flags
недействительны, поставщик создает новый заголовокtraceparent
и удаляетtracestate
.
- Если версия не может быть проанализирована , поставщик создает новый заголовок
- Поставщик МАЯ проверяет заголовок
tracestate
. Если заголовокtracestate
не может быть проанализирован, поставщик МОЖЕТ отбросить весь заголовок. Недопустимые записиtracestate
MAY также будут отброшены. - Для каждого исходящего запроса поставщик выполняет следующие шаги:
Поставщик ДОЛЖЕН изменить заголовок
traceparent
:- Обновление
идентификатор родителя
: Значение свойстваparent-id
ДОЛЖНО быть установлено равным значению, представляющему идентификатор текущей операции. - Обновление
выборка
: Значениевыборка
отражает поведение записи вызывающего абонента. Значениевыборки
флагафлагов трассировки
МОЖЕТ быть установлено на1
, если данные трассировки могут быть записаны, или на0
в противном случае. Установка флага не гарантирует, что трасса будет записана, но повышает вероятность записи сквозных трасс.
- Обновление
Поставщик МОЖЕТ изменить заголовок
tracestate
:- Обновление значения ключа: Значение любого ключа можно обновить. Модифицированные ключи ДОЛЖНЫ быть перемещены в начало (слева) списка.
- Добавить новую пару «ключ-значение»: Новая пара «ключ-значение» ДОЛЖНА быть добавлена в начало (слева) списка.
- Удалить пару ключ/значение: Любая пара ключ/значение 9 МАЯ0087 удалить. Поставщики НЕ ДОЛЖНЫ удалять ключи, которые не были сгенерированы ими самими. Удаление любой пары ключ/значение МАЯ нарушит корреляцию в других системах.
Поставщик устанавливает заголовок
traceparent
иtracestate
для исходящего запроса.
Приведенная выше модель обработки описывает полный набор шагов для обработки заголовков контекста трассировки. Однако бывают ситуации, когда поставщик может поддерживать только подмножество шагов, описанных выше. Прокси или промежуточное ПО для обмена сообщениями МОЖЕТ принять решение не изменять заголовки traceparent
, а удалить недопустимые заголовки или добавить дополнительную информацию в tracestate
.
Хотя контекст трассировки определен для HTTP, авторы признают, что он применим и для других протоколов связи. Расширения этой спецификации, а также спецификации, созданные внешними организациями, определяют формат сериализации и десериализации контекста трассировки для других протоколов. Обратите внимание, что эти расширения могут иметь другой уровень зрелости, чем эта спецификация.
Пожалуйста, обратитесь к [ trace-context-protocols-registry ] для получения подробной информации о реализации контекста трассировки для других протоколов.
6. Вопросы конфиденциальности Требования по распространению заголовков к нижестоящим службам, а также сохранение значений этих заголовков открывают потенциальные проблемы с конфиденциальностью. Поставщики трассировки НЕ ДОЛЖНЫ использовать поля traceparent
и tracestate
для любой личной или иной конфиденциальной информации. Единственная цель этих полей — включить корреляцию трассировки.
Поставщики ДОЛЖНЫ оценить риск злоупотребления заголовком. В этом разделе представлены некоторые соображения и первоначальная оценка риска, связанного с хранением и распространением этих заголовков. Поставщики трассировки могут выбрать проверку и удаление конфиденциальной информации из полей, прежде чем позволить системе трассировки выполнить код, который потенциально может распространять или хранить эти поля. Однако все мутации должны соответствовать списку мутаций, определенному в данной спецификации.
6.1 Конфиденциальность поля traceparent Поле traceparent
состоит из случайно сгенерированных чисел. Если генератор случайных чисел использует любую идентифицирующую пользователя информацию, такую как IP-адрес, в качестве начального состояния, эта информация может быть раскрыта. Генераторы случайных чисел НЕ ДОЛЖНЫ полагаться на любую информацию, которая потенциально может быть идентифицируемой пользователем.
Другая угроза конфиденциальности поля traceparent
— это возможность сопоставлять запросы, сделанные как часть одной транзакции. Нижестоящая служба может отслеживать и сопоставлять два или более запросов, сделанных в одной транзакции, и может делать предположения об идентичности инициатора запроса на основе информации из другого запроса.
Обратите внимание, что эти соображения конфиденциальности поля traceparent
носят скорее теоретический, чем практический характер. Некоторые службы, инициирующие или получающие запрос МАЯ , выбирают перезапуск поля traceparent
, чтобы полностью устранить эти риски. Поставщики СЛЕДУЕТ найти способ свести к минимуму количество перезапусков распределенной трассировки, чтобы повысить совместимость поставщиков трассировки. Вместо перезапусков могут использоваться различные методы. Например, службы могут определять границы доверия восходящих и нисходящих соединений, а также уровень уязвимости, которую могут принести любые запросы. Например, поставщик может перезапустить только traceparent
для запросов аутентификации от внешних служб или к ним.
Службы также могут определять алгоритм и механизм аудита для проверки случайности входящих или исходящих случайных чисел в поле traceparent
. Обратите внимание, что этот алгоритм зависит от службы и не является частью этой спецификации. Одним из примеров может быть временной алгоритм, в котором к текущему времени применяется обратимая хеш-функция. Получатель может подтвердить, что время находится в согласованных границах, что означает, что случайное число было сгенерировано с помощью требуемого алгоритма и фактически не содержит никакой информации, позволяющей установить личность.
Поле tracestate
может содержать любое непрозрачное значение в любом из ключей. Основная цель этого заголовка — предоставить дополнительную информацию об идентификации трассировки конкретного поставщика в различных распределенных системах трассировки.
Поставщики НЕ ДОЛЖНЫ включать какую-либо личную информацию в заголовок tracestate
.
Поставщики, чрезвычайно чувствительные к раскрытию личной информации МАЯ реализовать выборочное удаление значений, соответствующих неизвестным ключам. Поставщики НЕ ДОЛЖНЫ изменять поле tracestate
, поскольку это противоречит цели обеспечения совместной работы нескольких систем трассировки.
Когда поставщики включают в ответы заголовки traceparent
и tracestate
, эти значения могут быть непреднамеренно переданы вызывающим объектам из разных источников. Поставщики должны убедиться, что они включают только эти заголовки ответа при ответе системам, которые участвовали в трассировке.
Существует два типа потенциальных угроз безопасности, связанных с этой спецификацией: раскрытие информации и атаки типа «отказ в обслуживании» против поставщика.
Поставщики, полагающиеся на заголовки traceparent
и tracestate
, также должны следовать всем передовым методам разбора потенциально вредоносных заголовков, включая проверку длины заголовка и содержания значений заголовков. Эти методы помогают избежать переполнения буфера и атак с внедрением HTML.
Как упоминалось в разделе о конфиденциальности, информация в заголовках traceparent
и tracestate
может содержать информацию, которую можно считать конфиденциальной. Например, traceparent
может позволить сопоставить один запрос с данными, отправленными с другим запросом, или заголовок tracestate
может подразумевать версию программного обеспечения для мониторинга, используемого вызывающим абонентом. Эта информация потенциально может быть использована для создания более крупной атаки.
Владельцы приложений должны либо убедиться, что в tracestate
не хранится конфиденциальная информация, либо убедиться, что tracestate
не присутствует в запросах к внешним системам.
Когда распределенная трассировка включена в службе с общедоступным API и наивно продолжает любую трассировку с установленным флагом выборки
, злоумышленник может перегрузить приложение с накладными расходами на трассировку, подделать trace-id
коллизий, которые делают данные мониторинга непригодными для использования, или увеличивают ваш счет за отслеживание с вашим поставщиком отслеживания SaaS.
Поставщики и платформы трассировки должны учитывать такие ситуации и обеспечивать наличие системы сдержек и противовесов для защиты от отказа в мониторинге со стороны злонамеренных или плохо созданных вызывающих объектов.
Одним из примеров такой защиты может быть различное поведение трассировки для аутентифицированных и неаутентифицированных запросов. Также могут быть реализованы различные ограничители скорости записи данных.
7.3 Другие риски Владельцы приложений должны проверить все пути кода, ведущие к отправке заголовков traceparent
и tracestate
. Например, в одностраничных браузерных приложениях обычно делаются запросы из разных источников. Если один из этих путей кода ведет к заголовкам traceparent
и tracestate
, отправляемым вызовами между источниками, которые ограничены с помощью Access-Control-Allow-Headers
[ FETCH ], может произойти сбой.
Этот раздел не является нормативным.
В этом разделе предлагаются некоторые рекомендации, которые следует учитывать при выборе платформы или трассировки.
поставщик реализует алгоритмы генерации и распространения trace-id
. Эти
методы обеспечат лучшую совместимость различных систем.
trace-id
Значение trace-id
СЛЕДУЕТ, чтобы был глобально уникальным. Обычно это поле используется
для уникальной идентификации распределенной трассы. Это обычное дело для
распределенные трассировки для охвата различных компонентов, включая, например,
облачные сервисы. Облачные сервисы, как правило, обслуживают множество клиентов и имеют очень
высокая пропускная способность запросов. Таким образом, важна глобальная уникальность trace-id
,
даже когда локальная уникальность может показаться хорошим решением.
trace-id
Случайно сгенерированное значение trace-id
СЛЕДУЕТ быть предпочтительнее других
алгоритмы генерации глобально уникальных идентификаторов. Случайность идентификатор трассировки
касается некоторой безопасности и конфиденциальности
опасения по поводу раскрытия нежелательной информации. Случайность
также позволяет отслеживать поставщиков для принятия решений о выборке на основе значения поля trace-id
.
и избегайте распространения дополнительного контекста выборки.
Как показано в следующем разделе, это важно для идентификатор трассировки
для переноса
«уникальность» и «случайность» в правой части trace-id
, для лучшего
совместимость с некоторыми существующими системами.
trace-id
для совместимых платформ с более короткими внутренними идентификаторами Существуют системы трассировки, которые используют trace-id
короче 16 байт
которые все еще готовы принять эту спецификацию.
Если такая система способна распространять полностью совместимую идентификатор трассировки
, даже
при этом по-прежнему требуется более короткий, не соответствующий требованиям идентификатор для внутренних целей,
системе рекомендуется использовать заголовок tracestate
для распространения
дополнительный внутренний идентификатор. Однако, если вместо этого система предпочитает использовать
внутренний идентификатор в качестве основы для полностью соответствующего trace-id
, он ДОЛЖЕН быть включен в самую правую часть идентификатора трассировки
. Например, отслеживание
система может получить 234a5bcd543ef3fa53ce929d0e0e4736
как идентификатор трассировки
, однако
внутри он будет использовать 53ce929d0e0e4736
в качестве идентификатора.
Существуют системы отслеживания, которые не способны распространять все 16
байтов идентификатора трассировки
. Для лучшей совместимости между полностью совместимыми
систем с этими существующими системами, рекомендуются следующие методы:
- Когда система создает исходящее сообщение и необходимо сгенерировать полностью
совместимый 16 байт
trace-id
от более короткого идентификатора, он ДОЛЖЕН оставить площадку исходный идентификатор с нулями. Например, идентификатор53ce929d0e0e4736
, СЛЕДУЕТ преобразовать в значение trace-id000000000000000053ce929d0e0e4736
. - Когда система получает входящее сообщение и ей необходимо преобразовать 16 байтов
trace-id
на более короткий идентификатор, крайняя правая частьtrace-id
СЛЕДУЕТ использоваться в качестве этого идентификатора. Например, если значениеидентификатор трассировки
был234a5bcd543ef3fa53ce929d0e0e4736
по входящему запросу, система розыска СЛЕДУЕТ использовать идентификатор со значением53ce929d0e0e4736
.
Аналогичные преобразования ожидаются, когда система трассировки преобразует другие
распределенные форматы распространения контекста трассировки в W3C Trace Context. короче
идентификаторы ДОЛЖНЫ быть оставлены заполненными нулями при преобразовании в 16 байтов идентификатор трассировки
и крайняя правая часть trace-id
СЛЕДУЕТ использовать как более короткий
идентификатор.
Обратите внимание, что многие существующие системы не способны распространять всю trace-id
также не будет распространять заголовок tracestate
. Однако такая система
может по-прежнему использовать заголовок tracestate
для распространения дополнительных данных, которые известны
эта система. Например, в некоторых системах используются два флага, указывающие,
распределенная трассировка должна быть записана или нет. В этом случае можно отправить один флаг
как выборка
Флаг traceparent
заголовка и tracestate
можно использовать для отправки
и получите дополнительный флаг. Совместимые системы будут распространять этот флаг
все остальные пары ключ/значение. Существующие системы, не способные tracestate
распространение урежет все дополнительные значения из tracestate
и пройти только по этому флагу.
Спасибо Adrian Cole, Christoph Neumüller, Daniel Khan, Erika Arnold, Fabian Lange, Matthew Wear, Reiley Yang, Ted Young, Tyler Benson, Victor Soares за их вклад в эту работу.
B. ГлоссарийЭтот раздел не является нормативным.
- Распределенная трассировка
- Распределенная трассировка — это набор событий, инициированных в результате одной логической операции, объединенной в различные компоненты приложения. Распределенная трассировка содержит события, выходящие за границы процесса, сети и безопасности. Распределенная трассировка может быть инициирована, когда кто-то нажимает кнопку кнопку, чтобы начать действие на веб-сайте — в этом примере кнопка трассировка будет представлять вызовы, сделанные между нижестоящими службами который обрабатывал цепочку запросов, инициированных этой кнопкой нажимается.
- [БИТ-ПОЛЕ]
- 8-битное поле . Википедия. URL-адрес: https://en.wikipedia.org/wiki/Bit_field
- [FETCH]
- Fetch Standard . Энн ван Кестерен. WHATWG. Уровень жизни. URL: https://fetch.spec.whatwg.org/
- [RFC0020]
- Формат ASCII для сетевого обмена . В.Г. Серф. IETF. Октябрь 1969 г. Интернет-стандарт. URL-адрес: https://www.rfc-editor.org/rfc/rfc20
- [RFC2119]
- Ключевые слова для использования в RFC для обозначения уровней требований . С. Браднер. IETF. Март 1997 г. Передовая современная практика. URL: https://www.rfc-editor.org/rfc/rfc2119
- [RFC5234]
- Расширенный BNF для спецификаций синтаксиса: ABNF . Д. Крокер, изд.; П. Оверелл. IETF. Январь 2008 г. Интернет-стандарт. URL: https://www.rfc-editor.org/rfc/rfc5234
- [RFC7230]
- Протокол передачи гипертекста (HTTP/1.1): синтаксис и маршрутизация сообщений . Р. Филдинг, изд.; Дж. Решке, изд. IETF. Июнь 2014 г. Предлагаемый стандарт. URL: https://httpwg.org/specs/rfc7230.html
- [RFC8174]
- Неоднозначность прописных и строчных букв в ключевых словах RFC 2119 . Б. Лейба. IETF. Май 2017 г. Передовая современная практика. URL-адрес: https://www.rfc-editor.org/rfc/rfc8174
- [trace-context-protocols-registry]
- Реестр протоколов контекста трассировки . Сергей Канжелев; Филипп Ле Эгаре. W3C. 19 ноября 2019 г. Примечание рабочей группы W3C. URL: https://www. w3.org/TR/trace-context-protocols-registry/
Контекст трассировки
Контекст трассировкиAbstract
Распределенная трассировка — это набор инструментов и методов для мониторинга работоспособности и надежности распределенного приложения. Распределенное приложение — это приложение, состоящее из нескольких компонентов, развертываемых и работающих по отдельности. Он также известен как микросервис.
Основной концепцией распределенной трассировки является корреляция событий. Корреляция событий — это способ корреляции событий одного компонента с событиями другого. Это позволяет найти причинно-следственную связь между этими событиями. Например, найдите, какое действие пользователя в браузере вызвало сбой на уровне бизнес-логики.
Чтобы сопоставить события между компонентами, эти компоненты должны обмениваться и хранить часть информации, называемую контекстом. Обычно контекст состоит из идентификатора исходящего события, идентификатора исходного компонента и других свойств события. Контекст состоит из двух частей. Первая часть — это контекст трассировки. Контекст трассировки состоит из свойств, важных для корреляции событий. Вторая часть — корреляционный контекст. Контекст корреляции несет определяемые пользователем свойства. Эти свойства могут быть полезны для сценариев корреляции. Но они не требуются, и компоненты могут отказаться от их переноски или хранения.
Унификация формата распределенного контекста трассировки, а также согласование семантического значения значений — основная цель этой рабочей группы. Цель состоит в том, чтобы поделиться этим с сообществом, чтобы различные продукты для отслеживания и диагностики могли работать вместе.
Статус этого документа
В этом разделе описывается статус этого документа на момент его публикации. Этот документ может быть заменен другими документами. Список текущих публикаций W3C и последнюю редакцию этого технического отчета можно найти в Указатель технических отчетов W3C на https://www. w3.org/TR/.
Это первый общедоступный рабочий проект (ФПВД). Есть доступно несколько реализаций этого протокола. Экспериментальная совместимость сценарии были запущены и продемонстрировали многообещающие результаты. Спецификация будет после этого перешел в стадию кандидата-рекомендации, проекты для двоичного кода, AMQP и Протоколы MQTT будут написаны, чтобы убедиться, что концепции и структура определены в этой спецификации могут быть перенесены на другие протоколы.
Этот документ был опубликован Рабочей группы по распределенной трассировке в качестве Рабочий проект. Этот документ должен стать Рекомендацией W3C .
Гитхаб
Проблемы
предпочтительны для
обсуждение этого
Спецификация. Альтернативно,
ты можешь
Отправить
Комментарии
нашим
почтовое отправление
список. Пожалуйста, пришлите их
к
общественный-след-контекст@w3.org
(архивы)
с контекст трассировки
в
начало
твой
электронная почта
предмет
.
Публикация в качестве Рабочий проект не подразумевает одобрено членством W3C . Это проект документа и может быть обновлены, заменены или устаревшие другими документами в любое время. Это неуместно цитировать это документ, отличный от работы в прогресс.
Этот документ был подготовлен группа действует под Патентная политика W3C . W3C поддерживает общедоступный список любых патентные раскрытия сделано в связи с результаты группа; эта страница также включает инструкции по раскрытию патент. Физическое лицо, имеющее фактическое знание патента, который человек считает, содержит Основные претензии должны раскрывать информацию в в соответствии с раздел 6 из Патент W3C Политика.
Настоящий документ регулируется 1 февраля 2018 г. Технологический документ W3C .
1. Обзор
Контекст трассировки состоит из набора свойств, важных для корреляции событий в распределенных приложениях. Контекст трассировки размещает запросы в распределенной трассировке. Если вы посмотрите на распределенную трассировку как на график коррелированных запросов, то один запрос может быть частью нескольких графиков. Например, пусть компонент A
вызывает компонент B
, который, в свою очередь, вызывает C
. Одна распределенная система трассировки может видеть компонент A
, вызывающий компонент B
. Другой может видеть, что все три компонента обмениваются данными. Таким образом, вызов с B
на C
будет нести контекст трассировки об услуге A
, а также информацию о ее прямом восходящем соединении с B
.
Ситуация, когда один запрос является частью нескольких графов, становится все более распространенной. Компоненты одного распределенного приложения могут отслеживаться разными распределенными системами трассировки. Эти распределенные системы трассировки нельзя легко заменить, поскольку они могут предоставляться поставщиками облачных услуг или распространяться в виде готовых компонентов.
Контекст трассировки обеспечивает расширяемость для всех распределенных систем трассировки. Это требует от них соблюдения контекста, установленного другими системами.
Контекст трассировки представлен набором пар имя/значение, описывающих идентификатор каждого HTTP-запроса. Два поля распространения несут общие и специфичные для поставщика свойства, составляющие контекст трассировки.
-
traceparent
описывает позицию входящего запроса в графе трассировки в переносимом формате фиксированной длины. Его дизайн ориентирован на быстрый синтаксический анализ. -
tracestate
сопоставляет все графы, частью которых является входящий родитель, в форматах, потенциально зависящих от поставщика. Например, если запрос пересекает системы трассировки, вtracestate
будет одна запись для каждой системы.
Примечательно, что поле tracestate
не зависит от данных в traceparent
.
Библиотеки и платформы ДОЛЖНЫ распространять заголовки traceparent
и tracestate
, чтобы гарантировать, что трассировка не будет нарушена.
3. Конфиденциальность
Требования по распространению заголовков нижестоящим службам, а также сохранение значений этих заголовков открывают потенциальные проблемы с конфиденциальностью. Поставщики трассировки НЕ ДОЛЖНЫ использовать поля traceparent
и tracestate
для любой личной или иной конфиденциальной информации. Единственная цель этих полей — включить корреляцию телеметрии.
Поставщики трассировки ДОЛЖНЫ оценить риск злоупотребления заголовком. В этом разделе представлены некоторые соображения и первоначальная оценка риска, связанного с хранением и распространением этих заголовков. Поставщики трассировки могут выбрать проверку и удаление конфиденциальной информации из полей, прежде чем позволить платформе или системе трассировки выполнять код, который потенциально может распространять или хранить эти поля. Однако все мутации должны соответствовать списку мутаций, определенному в данной спецификации.
3.1 Конфиденциальность поля traceparent
поле traceparent
имеет предопределенный набор значений. Эти значения являются случайно сгенерированными числами. Если у генератора случайных чисел есть какая-либо логика использования идентифицирующей пользователя информации, такой как IP-адрес, эта информация может быть раскрыта. Генераторы случайных чисел НЕ ДОЛЖНЫ полагаться на любую информацию, которая потенциально может быть идентифицируема пользователем.
Еще одна угроза конфиденциальности поля traceparent
— это способность сопоставлять вызовы, сделанные как часть одной транзакции. Нисходящая служба может отслеживать и сопоставлять два или более вызовов, сделанных в одной транзакции, и делать предположения об идентичности вызывающего абонента одного вызова на основе информации из другого вызова. Услуга инициирования звонков МАЙ решил перезапустить трассировку при совершении вызовов, которые могут идентифицировать вызывающего абонента в нижестоящей службе.
Обратите внимание, что обе проблемы конфиденциальности поля traceparent
носят скорее теоретический, чем практический характер.
3.2 Конфиденциальность поля tracestate
Поле tracestate
может содержать любое непрозрачное значение в любом из ключей. Основная цель этого заголовка — предоставить дополнительную информацию о позиции запроса в нескольких распределенных графах трассировки.
Платформы и системы отслеживания НЕ ДОЛЖНЫ включать какую-либо личную информацию в заголовок tracestate
.
Платформы и системы слежения, чрезвычайно чувствительные к раскрытию личной информации МАЯ реализуют выборочное удаление значений, соответствующих неизвестным ключам. Эта мутация поля tracestate
не запрещена, но крайне нежелательна. Поскольку это противоречит цели этого поля для обеспечения совместной работы нескольких систем отслеживания.
4. Безопасность
Существует два типа потенциальных угроз безопасности, связанных с этой спецификацией: раскрытие информации и атаки типа «отказ в обслуживании» против системы отслеживания.
Службы и платформы, использующие заголовки traceparent
и tracestate
, также должны следовать всем
лучшие практики разбора потенциально вредоносных заголовков. Включая проверку длины заголовка и содержимого заголовка
ценности. Эти методы помогают избежать атак переполнения буфера и внедрения HTML-кода.
4.1 Раскрытие информации
Как упоминалось в разделе о конфиденциальности, информация в заголовках traceparent
и tracestate
может содержать информацию, которая может быть
считается чувствительным. Например, traceparent
может позволить сопоставить один вызов с данными, отправленными с другим вызовом. tracestate
может подразумевать версию программного обеспечения для мониторинга, используемого вызывающим абонентом. Эта информация потенциально может быть использована для
создать большую атаку.
Владельцы приложений должны либо убедиться, что в tracestate
не хранится конфиденциальная информация, либо
они должны убедиться, что tracestate
не присутствует в запросах к внешним системам.
4.2 Отказ в обслуживании
Когда распределенная трассировка включена в службе с общедоступным API и наивно
продолжает любую трассировку с установленным флагом записано
, злоумышленник может
перегрузить приложение трассировкой накладных расходов, подделать идентификатор трассировки
коллизий
которые делают данные мониторинга непригодными для использования или увеличивают ваш счет за отслеживание с помощью вашего SaaS
отслеживание продавца.
Отслеживающие поставщики и платформы должны учитывать такие ситуации и обеспечивать наличие системы сдержек и противовесов для защиты от отказа в мониторинге со стороны злонамеренных или плохо созданных вызывающих абонентов.