GraphQL Компрессор
Сжимайте схему GraphQL и отправляйте запросы к документам онлайн бесплатно, удаляя комментарии, пустые строки и пробелы. Наш компрессор GraphQL правильно обрабатывает описания строк блоков и поддерживает режим однострочного свертывания для генерации постоянных идентификаторов запросов. Показывает экономию размера проводов и уменьшение количества линий. Вся обработка происходит в вашем браузере — ваша схема никогда не покидает ваше устройство. Регистрация не требуется.
Compression Options
Зачем использовать наш компрессор GraphQL?
- Мгновенное сжатие GraphQL: сжимайте любую схему GraphQL или документ запроса за миллисекунды. Наш компрессор GraphQL обрабатывает все локально в вашем браузере — без ожидания загрузки, без обращения к серверу, с нулевой задержкой.
- Безопасный GraphQL Compressor Online: ваша схема и запросы GraphQL никогда не покидают ваше устройство, когда вы их сжимаете. 100% обработка на стороне клиента означает полную конфиденциальность — никакого облачного хранения, никаких журналов сервера и никакого раскрытия данных.
- GraphQL Compressor Online — без установки: сжимайте GraphQL прямо в браузере. Никакой загрузки программного обеспечения, никаких плагинов и учетной записи не требуется. Работает в любом современном браузере в любой операционной системе.
- Однострочный режим для сохраняемых запросов: включите «Свернуть в одну строку», чтобы создать максимально компактную строку GraphQL — идеально подходит для создания идентификаторов сохраняемых запросов, встраивания запросов в параметры HTTP GET и уменьшения размера банковского перевода.
Распространенные случаи использования компрессора GraphQL
- Генерация постоянных запросов: сжимайте запросы GraphQL в одну строку перед их хешированием для получения идентификаторов постоянных запросов. Клиент Apollo, Relay и другие клиенты GraphQL используют сжатую строку запроса в качестве входных данных для хеширования SHA-256 для автоматических постоянных запросов (APQ).
- Уменьшение размера API: сжимайте документы запросов GraphQL перед их отправкой в телах HTTP-запросов или параметрах GET. Удаление пробелов и комментариев из типичного запроса GraphQL может уменьшить размер полезной нагрузки на 30–60 %, улучшив время ответа API.
- Оптимизация реестра схем: сжимайте схемы GraphQL SDL перед загрузкой в реестры схем, такие как Apollo Studio, Hasura или хранилища пользовательских схем. Файлы схемы меньшего размера сокращают затраты на хранение и ускоряют конвейеры проверки схемы.
- Сжатие хранилища запросов. Сжимайте запросы GraphQL перед сохранением их в базах данных, кэшах Redis или файлах конфигурации. Удаление комментариев и пробелов уменьшает размер хранилища и ускоряет получение запросов на высокопроизводительных серверах GraphQL.
- Предварительная обработка генерации кода: сжимайте файлы схемы GraphQL перед передачей их в инструменты генерации кода, такие как GraphQL Code Generator, Pothos или TypeGraphQL. Меньшие входные файлы ускоряют генерацию кода и уменьшают размеры промежуточных артефактов.
- Схемы без документации: создавайте версии схем GraphQL SDL без документации для внутренних сборок, где описания самоанализа не нужны. Удалите описания строк блоков (""), чтобы создать минимальную схему для использования во время выполнения.
Что такое сжатие GraphQL?
Сжатие GraphQL — это процесс уменьшения размера документа GraphQL (либо файла языка определения схемы (SDL), либо документа запроса/мутации/подписки) путем удаления содержимого, которое не требуется для анализа или выполнения. Сюда входят # комментариев, пустые строки, конечные пробелы и, при необходимости, описания строк блоков (""..."""). Наш компрессор GraphQL использует токенизатор, который правильно идентифицирует блочные и обычные строки, гарантируя, что их содержимое никогда не будет изменено. Режим «Свернуть в одну строку» обеспечивает максимально компактный вывод — стандартный формат, используемый для автоматических постоянных запросов (APQ) в Apollo Client и Relay.
Как работает наш компрессор GraphQL
- 1. Вставьте или загрузите свой GraphQL. Введите любую SDL-схему GraphQL или документ запроса на панели ввода или загрузите файл .graphql, .gql или .graphqls. Настройте элементы для удаления с помощью переключателей опций.
- 2 Мгновенное сжатие с помощью браузера: нажмите «Сжать GraphQL». Документ маркируется для идентификации строк, строк блоков и комментариев — тогда каждый включенный проход выполняется локально в вашем браузере без отправки данных на какой-либо сервер.
- 3. Скопируйте или загрузите сжатый GraphQL. Скопируйте выходные данные в буфер обмена или загрузите в виде файла .graphql. Вывод — действительный GraphQL, который любой парсер GraphQL может обработать напрямую.
Что будет удалено
- Комментарии (#): все # строки комментариев удаляются. GraphQL использует # для комментариев к строкам — они никогда не требуются для выполнения схемы или запроса.
- Пустые строки: удаляются пустые строки и строки, содержащие только пробелы, между определениями. Они часто встречаются в хорошо отформатированных схемах SDL и документах запросов.
- Блокировать описания строк (""..."""): если включен параметр "Удалить описания", описания строк блоков, используемые для документации SDL, удаляются. Отключите эту опцию, если схема используется для самоанализа или создания документации.
- Нормализация пробелов: несколько последовательных пробелов сворачиваются в один пробел, а пробелы вокруг знаков препинания GraphQL (фигурные скобки, двоеточия, трубы) нормализуются. В однострочном режиме все пробелы сжимаются до необходимого минимума.
Постоянные запросы и однострочный режим
Автоматические постоянные запросы (APQ) работают, отправляя хэш SHA-256 строки запроса вместо полного запроса при последующих запросах. Хэш должен быть вычислен на основе той же строки, которую кэшировал сервер. Стандартный подход заключается в сжатии запроса до одной строки (удаление всех ненужных пробелов) перед хешированием. Включите «Свернуть в одну строку», чтобы создать канонический однострочный формат, используемый нормализацией печати (анализа (запроса) клиента Apollo. Это гарантирует, что ваш клиент и сервер вычислят идентичные хэши для одного и того же логического запроса.
Часто задаваемые вопросы
Компрессор GraphQL — это инструмент, который уменьшает размер в байтах схемы GraphQL (SDL) или документа запроса путем удаления комментариев, пустых строк и пробелов, создавая меньший, но все же действительный документ GraphQL. Наш бесплатный онлайн-компрессор GraphQL работает полностью в вашем браузере без загрузки на сервер.
Да. Компрессор удаляет только комментарии, пустые строки и пробелы — он никогда не изменяет имена типов, имена полей, директивы или строковые значения. Вывод — действительный GraphQL, который любой парсер GraphQL может правильно обработать.
Абсолютно. Наш компрессор GraphQL обрабатывает все локально в вашем браузере. Ваша схема и запросы никогда не загружаются на какой-либо сервер, никогда не сохраняются и никогда не покидают ваше устройство.
Да – 100% бесплатно, навсегда. Никакой регистрации, никакого аккаунта, никакого премиум-уровня, никаких ограничений на размер файла и никакой рекламы, прерывающей ваш рабочий процесс.
В однострочном режиме весь документ GraphQL сворачивается в одну строку с минимальным количеством пробелов — стандартный формат для автоматических постоянных запросов (APQ). Используйте его, когда вам нужно хешировать строку запроса для APQ или встроить запрос в параметр URL-адреса GET.
Блокировать строковые описания (""...""") типов документов и полей в схемах SDL - они появляются в результатах самоанализа. Сохраняйте их, когда схема используется для самоанализа или документирования. Удалите их только для схем, предназначенных только для выполнения, где документация не требуется.
Да. Компрессор работает с любым допустимым документом GraphQL — определениями типов SDL, операциями запроса/мутации/подписки, фрагментами и встроенными фрагментами.
Обычное сжатие GraphQL позволяет уменьшить размер на 20–60 % в зависимости от количества комментариев и пустых строк в исходном документе. Хорошо документированные схемы SDL сжимаются наиболее агрессивно, когда включено удаление описаний.
Поскольку сжатие выполняется исключительно в вашем браузере, практический предел зависит от доступной оперативной памяти вашего устройства. Большинство современных устройств без проблем обрабатывают файлы GraphQL размером до нескольких мегабайт.