Статьи в категории «Инженерия»
Как URL-сокращатель на самом деле работает под нагрузкой: бюджеты задержек редиректов, иерархии кэша, конвейеры аналитики на ClickHouse, идемпотентные API и инфраструктурные решения, стоящие за edge-сетью Elido. Это глубокие технические разборы с реальными цифрами из наших боевых систем, написанные для разработчиков, которые хотят строить на платформе ссылок или просто любят системный дизайн. Если вы оцениваете поставщиков по их страницам об архитектуре, начните отсюда.
- Инженерия
Проверка подписей webhook: HMAC-SHA256 в Node, Python и Go
Как проверить подпись webhook с помощью HMAC-SHA256: необработанное тело, сравнение за постоянное время, окно защиты от replay-атак и ротация секрета, с кодом для Node, Python, Go и n8n.
10 мин чтенияverify webhook signature · webhook signature verification · hmac webhook - Инженерия
Разрешения API-ключей: минимальные привилегии для инструментов ссылок
Правильно настроенные разрешения API-ключей для инструментов ссылок: ключи, привязанные к рабочему пространству, ограничения ролей, хеши с pepper, лимиты для каждого ключа, ротация и безопасная передача в n8n или Make.
8 мин чтенияapi key permissions · least privilege api keys · api key scopes - Инженерия
Canonical против 301 редиректа: как выбрать правильный сигнал
Canonical-тег - это подсказка, которую поисковые системы могут проигнорировать; 301 редирект - это инструкция, которой они обязаны подчиниться. Какой из них подходит для четырёх повседневных случаев дублирования URL.
8 мин чтенияcanonical vs 301 redirect · rel=canonical · canonical tag - Инженерия
Максимальная длина URL: реальный лимит символов
У URL нет максимальной длины по спецификации. Реальный потолок - самый низкий лимит в цепочке, которую проходит ссылка: браузер, сервер, почтовый ящик или QR-код.
8 мин чтенияmaximum url length · max url length · url character limit - Инженерия
AI-краулеры и короткие ссылки: что боты делают на самом деле
Краулеры для обучения, живые фетчеры и поисковые боты - все они заходят на ваши редиректы. Какие из них следуют 301, во что они обходятся вашим счётчикам кликов и кого стоит пропустить.
5 мин чтенияai crawlers · gptbot · robots.txt - Инженерия
URL-кодирование объяснено: какие символы нужно экранировать
URL-кодирование заменяет символ знаком процента и двумя шестнадцатеричными цифрами, чтобы его нельзя было прочитать как синтаксис URL. Какие символы нужно кодировать и где это ломается.
7 мин чтенияurl encoding · percent encoding · encodeuricomponent - Инженерия
Петля редиректов: как найти и исправить ERR_TOO_MANY_REDIRECTS
Петля редиректов гоняет браузер между URL, пока он не сдастся. Проследите цепочку редиректов одной командой, найдите правило, которое всему противоречит, и исправьте это раз и навсегда.
10 мин чтенияredirect loop · err_too_many_redirects · too many redirects - Инженерия
Сокращатель URL в CLI: сокращайте ссылки из терминала
Сокращайте URL из командной строки с помощью curl и jq, оборачивайте команду в shell-функцию, копируйте результат в буфер обмена и сокращайте целый файл с помощью параллельного xargs.
4 мин чтенияurl shortener cli · shorten url command line · curl url shortener - Инженерия
Как сократить URL в Ruby с помощью Net::HTTP и Faraday
Сократите URL в Ruby с помощью Net::HTTP без гемов, затем добавьте тайм-ауты, повторные попытки и идемпотентность или поручите всю задачу Faraday в приложении Rails.
5 мин чтенияhow to shorten a url in ruby · ruby url shortener · shorten url ruby net http - Инженерия
Как сократить URL в PowerShell с помощью Invoke-RestMethod
Сократите URL в PowerShell одной командой, обработайте ответы 429, не храните API-ключ в скрипте и сократите целый столбец CSV с помощью ForEach-Object -Parallel.
5 мин чтенияhow to shorten a url in powershell · powershell url shortener · invoke-restmethod post json - Инженерия
Как сократить URL в PHP с curl, Guzzle или WordPress
Как сократить URL в PHP с помощью короткого блока curl, того же вызова в Guzzle или Laravel, версии для WordPress с wp_remote_post, а также повторных попыток и пакетного сокращения.
6 мин чтенияhow to shorten a url in php · php url shortener · shorten url php curl - Инженерия
Как сократить URL в JavaScript с помощью fetch и Node
Сократите URL в JavaScript одним вызовом fetch, затем добавьте тайм-аут, повторы и идемпотентность - и узнайте, почему браузер не должен хранить ключ.
6 мин чтенияhow to shorten a url in javascript · url shortener node js · shorten url javascript fetch - Инженерия
Как сократить URL в Java с помощью встроенного HttpClient
Сократите URL в Java с помощью java.net.http без зависимостей, затем добавьте тайм-аут, повторы с Idempotency-Key и массовое сокращение на виртуальных потоках.
5 мин чтенияhow to shorten a url in java · java url shortener api · java httpclient post json - Инженерия
Как сократить URL в Go с помощью net/http и errgroup
Сократите URL в Go с помощью net/http и JSON-тела, затем добавьте дедлайн контекста, повторы с Idempotency-Key и ограниченное массовое сокращение через errgroup.
7 мин чтенияhow to shorten a url in go · golang url shortener api · shorten url go net/http - Инженерия
Как сократить URL в Excel: четыре рабочих способа
Формула WEBSERVICE в Excel не может отправлять POST-запросы, поэтому для сокращения ссылок нужны Office Scripts, Power Automate или массовый импорт. Какой способ подходит для вашей частоты запуска таблицы.
5 мин чтенияhow to shorten urls in excel · excel url shortener · webservice function excel - Инженерия
Как сократить URL в C# с помощью HttpClient и .NET
Сократите URL в C# с помощью PostAsJsonAsync, затем подключите IHttpClientFactory, обработчик отказоустойчивости, Idempotency-Key и ограниченное массовое сокращение через Parallel.
5 мин чтенияhow to shorten a url in c# · c# url shortener api · httpclient postasjsonasync - Инженерия
Почему ваши короткие ссылки блокируются в Slack и Teams
Короткие ссылки блокируются в Slack и Teams, когда домен общего сокращателя не проходит проверку безопасности вроде Safe Links. Почему это происходит и как это исправляет брендированный домен.
4 мин чтенияshort links blocked in slack · bitly links blocked · microsoft teams safe links - Инженерия
Агентная коммерция: ссылки, созданные для использования ИИ-агентами
Агентная коммерция означает, что по вашим ссылкам переходят и покупают не люди, а ИИ-агенты. Почему ссылки должны быть стабильными, машиночитаемыми и отслеживаться на сервере, чтобы это пережить.
4 мин чтенияagentic commerce · agentic ai checkout · links for ai agents - Инженерия
Как сократить URL на Python с помощью библиотеки requests
Сократите URL на Python несколькими строками с requests: отправьте POST в API сокращателя, получите короткую ссылку в ответ, а затем добавьте повторные попытки, идемпотентность, массовую обработку и асинхронность.
6 мин чтенияhow to shorten a url in python · python url shortener · shorten url python requests - Инженерия
Канал AI Assistant в GA4: что он отслеживает и что упускает
Новый канал AI Assistant в GA4 выделяет трафик от ChatGPT, Gemini и Copilot, но не учитывает Perplexity и не работает задним числом. Что он отслеживает и в чем пробелы.
4 мин чтенияga4 ai assistant channel · ga4 ai traffic · track chatgpt traffic ga4 - Инженерия
Firefox и Brave ломают вашу UTM-атрибуцию
Firefox удаляет UTM-параметры, а Brave блокирует скрипты, которые их читают, - в результате приватность браузера незаметно ломает вашу атрибуцию. Почему это происходит и как выживают короткие ссылки.
4 мин чтенияfirefox strip utm parameters · browsers strip utm · brave utm tracking - Инженерия
Альтернатива API Bitly для разработчиков: на что обратить внимание
Альтернатива API Bitly для разработчиков: где именно ограничения по частоте запросов и деление по тарифам мешают Bitly, и что должен давать API сокращателя, ориентированного на разработчиков.
4 мин чтенияbitly api alternative · bitly api · url shortener api - Инженерия
Бесплатный API сокращателя ссылок: примеры кода, которые работают
Бесплатный API сокращателя ссылок с рабочими примерами на curl, JavaScript, Python и Go, а также честная часть: что скрыто за бесплатным тарифом и что нужно для продакшена.
5 мин чтенияfree url shortener api · url shortener api · shorten url api - Инженерия
Уязвимости открытого редиректа и как их предотвратить
Открытый редирект позволяет злоумышленнику изогнуть доверенную ссылку в сторону вредоносного сайта. Как работает баг, почему он питает фишинг и серверное исправление, которое его убивает.
6 мин чтенияopen redirect vulnerability · open redirect · unvalidated redirect - Инженерия
Как создать сокращатель URL: архитектура и код
Как создать сокращатель URL, который выдержит продакшн: генерация коротких кодов, путь редиректа, кеширование, отслеживание кликов, защита от злоупотреблений и вопросы поддержки.
8 мин чтенияbuild a url shortener · url shortener system design · short code generation - Инженерия
Типы URL-редиректов: 301, 302, 307, 308 и другие
Объяснение каждого типа URL-редиректа - 301, 302, 303, 307, 308, meta refresh и JavaScript - что делает каждый из них, как влияет на SEO и какой выбрать.
6 мин чтенияtypes of redirects · url redirect types · 301 redirect - Инженерия
301 против 302 редиректов: какой использовать для коротких ссылок
301 - постоянный редирект, передающий сигналы ранжирования; 302 - временный и обычно нет. Что это значит для коротких ссылок, SEO и кэширования.
6 мин чтения301 vs 302 redirect · 301 redirect · 302 redirect - Инженерия
API сокращателя URL: лимиты запросов, повторные попытки, идемпотентность
Как вызывать API сокращателя URL в продакшне: token-bucket лимиты, какие статус-коды требуют повтора с backoff, и ключи идемпотентности, защищающие от дублей.
7 мин чтенияurl shortener api rate limits · api idempotency key · retry with exponential backoff - Инженерия
Вредят ли сокращатели URL для SEO? Механика, которая важна
Вредят ли сокращатели URL для SEO? Надёжные сервисы - нет: Google передаёт сигналы ранжирования через редиректы. Четыре сценария, которые снижают позиции, и как их избежать.
7 мин чтенияdo url shorteners hurt seo · are short links bad for seo · 301 vs 302 redirect seo - Инженерия
Мониторинг коротких ссылок с Sentry и Datadog: кто за что отвечает
Мониторинг коротких ссылок с Sentry и Datadog: какие события Elido становятся issue в Sentry, что получает Datadog и как самостоятельно следить за задержкой редиректа.
9 мин чтенияshort link monitoring · sentry url monitoring · datadog short link metrics - Инженерия
Как работают сокращатели URL? Объяснение механики
Как работают сокращатели URL? Хранят соответствие слага и адреса назначения, ищут ключ при каждом клике и возвращают HTTP-редирект. Механика от начала до конца
10 мин чтенияhow do url shorteners work · url shortener mechanics · 301 vs 302 redirect - Инженерия
Выпуск миграции с TinyURL: Pro/Bulk REST, путь для бесплатного тарифа отсутствует
Как мы реализовали импорт TinyURL Pro/Bulk в один клик для Elido - почему у публичного TinyURL нет API, терминология alias-vs-slug и намеренно установленный лимит.
6 мин чтенияtinyurl migration · url shortener · go worker - Инженерия
Релиз миграции с Short.io: постраничная навигация по доменам по 150 записей
Как мы реализовали импорт с Short.io для Elido в один клик - модель постраничной навигации по доменам, правило для деактивированных приватных ссылок и самый быстрый из пяти наших источников миграции.
6 мин чтенияshort.io migration · url shortener · go worker - Инженерия
Релиз миграции с Rebrandly: постраничная пагинация по 25 элементов и 30-минутный бюджет
Как мы реализовали импорт из Rebrandly в Elido в один клик: почему выбрали такой размер страницы, UX фильтрации рабочих пространств и что мы сознательно не переносим.
6 мин чтенияrebrandly migration · url shortener · go worker - Инженерия
Запуск миграции с Dub.co: папки превращаются в теги
Как мы реализовали импорт из Dub.co в один клик для Elido - самый чистый API из пяти поддерживаемых, преобразование папок в теги и почему этот переход подходит командам, заботящимся о размещении данных в ЕС.
7 мин чтенияdub.co migration · url shortener · go worker - Инженерия
Ingestion кликов по принципу «отправил и забыл» с Redpanda
Как краевые POP отправляют события кликов, не блокируя редирект, как воркер click-ingester выполняет пакетную вставку в ClickHouse и чем мы жертвуем ради выигрыша в задержке
10 мин чтенияfire and forget click ingestion · redpanda click events · clickhouse batch insert - Инженерия
Edge POP против DNS-only маршрутизации: компромисс бюджета задержки
Почему DNS-балансировка нагрузки упирается в ~50 мс p50 и что даёт anycast edge POP ниже этого порога - четыре числа, определяющие, что подходит вашему сокращателю URL
8 мин чтенияedge pop vs dns · anycast vs dns failover · edge routing latency - Инженерия
Стратегия кэширования для URL-редиректов: L1 LRU и L2 Redis
Как двухъярусный кэш перед базой данных сокращателя URL удерживает p95 задержку редиректа ниже 15 мс - политики вытеснения, прогрев и реальные сбои.
12 мин чтенияurl redirect cache · ristretto lru · redis cluster - КлючеваяИнженерия
Sentry в Go-микросервисах: 12 сервисов без замедления hot path
Опыт подключения Sentry/GlitchTip к 12 Go-сервисам: перехват паник и 5xx, что делать с fasthttp, и как не добавить задержку в редиректы.
12 мин чтенияsentry go middleware · glitchtip self-hosted · observability url shortener - Инженерия
Почему мы используем ClickHouse для аналитики кликов (а не Postgres)
Нагрузка 100 млн+ событий в месяц, интенсивная запись, аналитическая форма запросов. Почему выигрывает колоночное хранение, схема, которую мы поставляем, и с чем мы столкнулись через 90 дней использования Postgres
12 мин чтенияclickhouse click analytics · clickhouse for analytics · click event storage - КлючеваяИнженерия
Достижение p95 < 15 мс для редиректов из FRA, ASH и SGP
Как путь edge-redirect в Elido удерживает бюджет p95 в 15 мс при попадании в кэш (cache HIT) в трех регионах - архитектура, стратегия кэширования и измерения в реальных регионах
14 мин чтенияurl shortener performance · edge redirect latency · multi-region url shortener - КлючеваяИнженерия
Self-hosting Elido на k3s - полный плейбук
Пошаговое руководство по развертыванию полного стека Elido в кластере k3s: установка Helm, 14 сервисов, уровень данных в виде StatefulSets, on-demand TLS через Caddy, резервное копирование и стратегия обновления.
13 мин чтенияself hosted url shortener · k3s · kubernetes url shortener - КлючеваяИнженерия
Управляйте короткими ссылками через Terraform
Мы выпустили единственный Terraform-провайдер в сегменте сокращателей ссылок - terraform-provider-elido. Рассказываем, как он работает, как устроен жизненный цикл ресурсов и какие инженерные компромиссы за этим стоят.
12 мин чтенияterraform · infrastructure as code · url shortener - Инженерия
Запуск миграции из Bitly: воркер, токен и 30-минутный бюджет
Как мы реализовали импорт из Bitly в один клик для Elido - архитектура воркера, правила разрешения конфликтов и четыре ограничения, обеспечивающие безопасность ин-процесс goroutine.
8 мин чтенияbitly migration · url shortener · go worker