Термины на букву J в веб-технологиях

JSON (JavaScript Object Notation): формат обмена данными
JSON — это легковесный формат сериализации данных, описанный в спецификации RFC 7159 (обновление RFC 4627) и стандарте ECMA-404. Техническая основа — текстовое представление объектов JavaScript, но реализация не зависит от языка. Ключевые отличия от альтернатив (XML, YAML, Protobuf):
- Материалы и структура: JSON использует только два типа структур: объект (ключ-значение в фигурных скобках) и массив (упорядоченный список в квадратных скобках). Значениями могут быть строки (в двойных кавычках), числа (целые и с плавающей точкой по IEEE 754), логические true/false, null. В отличие от XML, JSON не поддерживает атрибуты, комментарии или пространства имён, что снижает избыточность.
- Спецификации и парсинг: Синтаксис строгий: ключи обязательно в двойных кавычках, запрещены конечные запятые. Парсеры (например, V8 JSON.parse) работают по принципу ABNF. При обработке больших объёмов (сотни мегабайт) требуется стриминг (JSON streaming, формат NDJSON — RFC 7464).
- Отличия от альтернатив: По сравнению с XML — в 2–4 раза меньший размер сообщения при равной семантике. По сравнению с YAML — отсутствие чувствительности к отступам, что исключает ошибки форматирования. По сравнению с Protocol Buffers — отсутствие схемы по умолчанию, что увеличивает гибкость, но снижает скорость десериализации на 30–50% (тесты Google 2023).
- Качество и стандарты: Для валидации используют JSON Schema (Draft 2020-12). В сфере веб-безопасности — защита от JSON hijacking через префикс "]}]," (Angular-style) или использование MIME-типа application/json с проверкой Content-Type на стороне сервера.
JWT (JSON Web Token): стандарт аутентификации
JWT определён в RFC 7519, базируется на JSON и криптографических алгоритмах. Технический состав токена — три части, разделённые точками: заголовок (header), полезная нагрузка (payload), подпись (signature).
- Материалы и структура: Header содержит тип (JWT) и алгоритм подписи (HS256, RS256, ES256). Payload — утверждения (claims): стандартные (iss, sub, exp, iat по RFC 7519 §4.1) и кастомные. Signature — HMAC-SHA256 или асимметричное шифрование (RSA/ECDSA). Размер токена: при 5 claims — около 300–500 байт в base64url.
- Отличия от сессий (session-based auth): JWT не требует хранения на сервере (stateless). Разница: сервер не обращается к БД при каждом запросе, но отзыв токена (revocation) требует списка блокировки (blacklist) с O(1) проверкой. По сравнению с SAML — JWT легче в 4–6 раз и не требует XML-парсера.
- Спецификации и реализация: Алгоритмы подписи: HMAC (симметричный ключ — уязвим при компрометации), RSA (асимметричный, 2048-битный ключ рекомендуется), ECDSA (меньший размер подписи). В 2025 году NIST рекомендует переходить на EdDSA (Ed25519) для новых проектов.
- Качество и риски: Типовые атаки: алгоритм confusion (смена RS256 на HS256 при публичном ключе — защита через явное указание alg в header). Срок жизни (exp) не должен превышать 15 минут для access token, refresh token — 7 дней с ротацией (REFRESH_ROTATION).
jQuery: библиотека для манипуляции DOM
jQuery (версия 3.7.1, 2024) — библиотека на JavaScript, предоставляющая кросс-браузерный API для DOM-операций, событий и AJAX. Техническая спецификация: ядро размером ~87 КБ (minified + gzip).
- Материалы и отличия от нативного JS: Селекторы jQuery (Sizzle-движок) поддерживают CSS3+ (псевдоклассы :nth-of-type, :contains). Сравнение производительности: нативный document.querySelectorAll() в Chrome 125 быстрее $() на 20–35% (тесты 2024). jQuery-обёртка всегда возвращает объект с возможностью цепочечных вызовов (chaining).
- Отличия от современных библиотек (React/Vue): jQuery работает с реальным DOM, не использует Virtual DOM, что вызывает полный ререндер. При работе со списками из 10 000 элементов — React 18 быстрее в 2–3 раза (диффинг). Однако jQuery минимален — не требует сборщика, совместим с IE 11.
- Спецификации и расширения: Плагины (jQuery UI, jQuery Mobile). AJAX-метод $.ajax() эмулирует XMLHttpRequest Level 2, но стандарт Fetch API (Fetch Living Standard) предпочтительнее: меньше кода, промисы, потоковая обработка.
- Качество и стандарты: jQuery проходит тесты QUnit. В 2026 году jQuery всё ещё рекомендуется для легаси-проектов, но для новых проектов — нативные API или фреймворки.
JPEG (Joint Photographic Experts Group): формат сжатия изображений
JPEG (стандарт ISO/IEC 10918-1, ITU-T T.81) — метод сжатия с потерями, основанный на дискретном косинусном преобразовании (DCT). Технические характеристики:
- Материалы и процесс сжатия: Изображение делится на блоки 8×8 пикселей. Каждый блок преобразуется в частотную область (DCT). Далее — квантование (таблица квантования, обычно 50% качества = таблица по умолчанию из Annex K). Потери — отбрасывание высокочастотных компонент. Затем — кодирование Хаффмана (алгоритм по RFC 1951).
- Отличия от альтернатив: PNG — без потерь, но размер в 3–5 раз больше для фотографий. WebP — на 25–34% меньше размер при том же качестве (SSIM+0.95). AVIF (AV1) — превосходит JPEG на 50% по сжатию, но требует больше ресурсов CPU на декодирование (до 2x времени).
- Спецификации и качество: Прогрессивный JPEG (многопроходное отображение) — в 8% случаев вызывает артефакты. EXIF-данные (метаданные) записываются в маркер APP1. Максимальное разрешение — 65535×65535 пикселей.
- Стандарты для веба: Рекомендуемые параметры: качество 80–85 (сжатие 10:1). Для иконок — не использовать (артефакты на границах).
JAR (Java ARchive): формат упаковки классов
JAR-файлы объединяют несколько Java-классов и метаданные в один ZIP-архив (формат по PKWARE ZIP Appnote). Технические детали:
- Материалы и структура: Файл манифеста (META-INF/MANIFEST.MF) — обязателен, содержит главный класс (Main-Class) и версию (Manifest-Version: 1.0). Подписи (JAR Signing) — через META-INF/*.SF и *.DSA (алгоритм RSA или DSA с SHA256).
- Отличия от альтернатив: WAR (Web ARchive) — содержит web.xml и специфичен для сервлет-контейнеров. SAR (Service Archive) — для JBI. JAR — универсальный, поддерживает цифровые подписи и автономный запуск.
- Спецификации и безопасность: JAR-файлы проверяются через jarsigner (алгоритмы SHA-1 устарели, с 2024 — SHA-256 обязательно). Размер не ограничен, но на практике — до 50 МБ для модуля.
- Качество: Используется в Java EE/Spring Boot. В современном вебе вытесняется GraalVM Native Image (AOT-компиляция), но остаётся стандартом для серверных приложений.
JWS (JSON Web Signature) и JWE (JSON Web Encryption)
Дополнения к JWT: JWS (RFC 7515) — подпись произвольного JSON-контента (не только токенов). JWE (RFC 7516) — шифрование полезной нагрузки. Техническая реализация:
- Отличия: JWS использует base64url-заголовок + подпись, без шифрования. JWE — пять частей (защищённый заголовок, зашифрованный ключ, вектор инициализации, шифротекст, тег аутентификации).
- Алгоритмы: JWS — HS384, RS512. JWE — A128GCM (симметричное), RSA-OAEP-256 (асимметричное). По спецификации RFC 7518.
- Качество: JWE обеспечивает конфиденциальность, но в 2026 году предпочтителен PASETO (меньше уязвимостей).
Добавлено: 27.04.2026
