# Разбор HTTP Link-заголовка RFC 8288 с предпросмотром обхода пагинации

Разбирает Link-заголовки по алгоритму приложения B RFC 8288, приводит относительные URI-ссылки к абсолютным (RFC 3986), классифицирует rel по реестру IANA, проверяет подсказки preload/prefetch и моделирует обход rel="next" краулером с обнаружением циклов.

> Каноническая страница: https://elysiatools.com/ru/tools/http-link-header-rfc8288-parser-and-pagination-crawler-preview

- **Категория:** Network

- **Ключевые слова:** разбор link-заголовков, rfc 8288, web linking, пагинация rel next, подсказки preload prefetch, разрешение относительных url, предпросмотр краулера

## Обзор

Парсер буквально реализует приложение B RFC 8288: link-values через запятую, параметры token или quoted-string с экранированием обратной чертой, декодирование title* по RFC 8187, переопределение звёздочных параметров, приоритет первого rel и нижний регистр зарегистрированных типов. Цели и anchor разрешаются алгоритмом RFC 3986 §5.2 (URL(), но не base из тела ответа). Дополнительные проверки: значения без кавычек с пробелами, IRI, требующие процентного кодирования, расширения rel обязаны быть абсолютными URI, устаревший rev, preload/prefetch без `as`, недопустимые `as`, повторный rel="next" в одном ответе. Вставляйте по одному ответу на строку, чтобы краулер шёл по rel="next" от базового URL — каждая строка разрешается относительно предыдущей страницы, с детекцией циклов и лимитом глубины.

## Входные данные

- **Link-заголовки** (textarea): ; rel="next", ; rel="last" Paste one response per line to simulate a pagination crawl.
- **Базовый URL** (text): https://api.example.com/api/items?page=1 — required to resolve relative targets
- **Максимальная глубина обхода** (number): 10

## Когда использовать

- Отладка и валидация пагинации в REST API, использующих HTTP-заголовки Link (rel="next", rel="prev", rel="last", rel="first").
- Проверка синтаксиса параметров Link, кодирования RFC 8187 (title*) и корректности директив предзагрузки ресурсов preload и prefetch.
- Тестирование цепочек обхода страниц перед запуском реального краулера или скрипта сбора данных.

## Как это работает

- Синтаксический анализатор разбирает переданные заголовки по алгоритму RFC 8288, выделяя целевые URI, параметры token, экранированные строки и типы отношений rel.
- Относительные пути приводятся к абсолютным URL относительно указанного базового адреса согласно RFC 3986.
- Валидатор проверяет соответствие зарегистрированным типам IANA, выявляет устаревшие параметры rev, дубликаты rel="next" и отсутствие обязательных атрибутов as.
- Модуль симуляции последовательно проходит по строкам ответов, следуя по цепочке rel="next" с фиксацией посещенных узлов для предотвращения бесконечных циклов.

## Сценарии использования

- Проверка корректности формирования Link-заголовков пагинации на бэкенд-сервере перед деплоем.
- Аудит подсказок предзагрузки ресурсов (preload/prefetch) на CDN и веб-серверах для оптимизации загрузки фронтенда.
- Анализ и симуляция парсинга открытых API (например, GitHub API) при разработке клиентских библиотек.

## Частые вопросы

### Как алгоритм обрабатывает относительные URI?

Относительные ссылки объединяются с указанным базовым URL (baseUrl) по правилам RFC 3986 без использования тегов base из HTML-тела.

### Как симулируется обход многостраничного API?

Каждый отдельный ответ передается с новой строки; парсер извлекает rel="next" и использует его как базовый URL для следующей страницы.

### Что происходит при обнаружении циклической ссылки в пагинации?

Краулер отслеживает посещенные адреса в наборе visited, прерывает обход при повторении URL и выводит предупреждение о зацикливании.

### Какие проверки выполняются для директив preload и prefetch?

Инструмент проверяет наличие атрибута as, допустимость его значения (например, script, style, font) и параметры crossorigin.

### Поддерживается ли декодирование расширенных параметров title*?

Да, парсер декодирует значения title* с учетом кодировки и языка согласно спецификации RFC 8187.

## Связанные инструменты

- [Анализатор пакетов сотового IoT NB-IoT / LTE-M: CoAP и LwM2M](https://elysiatools.com/ru/tools/nb-iot-lte-m-cat-m1-coap-lwm2m-cellular-iot-packet-analyzer): Разбор hex-дампов сотовых IoT-устройств: заголовки и опции CoAP (block-wise, Observe), деревья TLV LwM2M с именами ресурсов, адресация портов UDH в SMS-DELIVER с разворачиванием CoAP-over-SMS, регистрации link-format и сводки DTLS.
- [Отладчик и relay webhook](https://elysiatools.com/ru/tools/webhook-debugger-relay): Создает уникальный URL для приема webhook, показывает запросы, проверяет подписи и позволяет повторно отправлять payload
- [Аудитор цепочки DNSSEC и доверия RDAP](https://elysiatools.com/ru/tools/whois-rdap-dnssec-chain-validator-and-iana-bootstrap-trust-auditor): Полный аудит домена: реферал IANA RDAP bootstrap, данные WHOIS реестра/регистратора и цепочка доверия DNSSEC от корневого KSK через DS зоны TLD до DNSKEY апекса — с проверкой дайджестов DS и отметками об истечении RRSIG.
- [Визуализатор Cron-выражений](https://elysiatools.com/ru/tools/cron-expression-visualizer): Разбирает cron-расписания, проверяет синтаксис standard cron или Quartz и визуализирует будущие запуски на таймлайне и сгруппированном календаре
- [Хирург битых строк CSV](https://elysiatools.com/ru/tools/csv-malformed-row-surgeon): Поэлементно (хирургически) исправляет битые строки CSV: неэкранированные (случайные) кавычки, смешанные разделители (таб/точка с запятой/запятая в одном файле), заголовки с BOM, переводы строк CRLF/CR и лишние пустые строки. Хирург парсит терпимо, показывает построчный красно-зелёный diff каждой правки (до → после, с пометкой причины), перечисляет строки, принятые без изменений, и выводит очищенный CSV. Дополнительный ИИ-ремонт может перепроверить подозрительные строки после детерминированного прохода. Он дополняет Валидатор CSV (который лишь сообщает о проблемах), реально исправляя повреждённые строки.
- [Анатомия рукопожатия HTTP/3 QUIC](https://elysiatools.com/ru/tools/http-3-quic-handshake-anatomy): Побайтовый разбор рукопожатия HTTP/3 поверх QUIC. Визуализирует свежее рукопожатие 1-RTT, возобновление по билету сессии и сценарий 0-RTT, с диаграммами последовательности, раскладкой полей каждого пакета, пакетом Retry и сравнением с TCP + TLS 1.3. Для подготовки к собеседованиям, изучения протоколов и производительности.
- [Мастерская длительностей ISO 8601: разбор и арифметика](https://elysiatools.com/ru/tools/iso-8601-duration-parser-arithmetic-workbench): Разбор длительностей ISO 8601, проверка расширений 8601-2, календарно-верная арифметика, сортировка по реальной длине и разность моментов.
- [Аудитор MVT Mapbox Vector Tile, PMTiles, проекции Google MVT и кодирования tilelive](https://elysiatools.com/ru/tools/mvt-mapbox-vector-tile-pmtiles-google-mvt-projection-and-tilelive-encoding-auditor): Проверяет векторные тайлы .mvt/.pbf и архивы PMTiles v3 по Mapbox Vector Tile Specification 2.x: декодирует protobuf-таблицы Layer/Feature/Value, валидирует поток команд MoveTo/LineTo/ClosePath, порядок обхода колец и индексы тегов, проверяет XYZ-границы схемы Google Web Mercator, декодирует каталоги PMTiles v3 и отмечает бюджеты размера тайла против числа объектов.

## Примеры

- [Примеры Анализа Логов Nginx](https://elysiatools.com/ru/samples/nginx-log-samples): Комплексные образцы логов Nginx для тестирования инструмента log-parser, включая различные форматы и сценарии логов доступа и ошибок
- [Примеры Извлечения Ссылок Markdown](https://elysiatools.com/ru/samples/markdown-with-links): Примеры документов Markdown с различными типами ссылок для тестирования инструмента извлечения ссылок Markdown
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Обработки Изображений Web Rust](https://elysiatools.com/ru/samples/web-image-processing-rust): Примеры обработки изображений Web Rust включая чтение/запись, масштабирование и преобразование форматов
