Что такое HTTP-заголовок?
HTTP-заголовок — это фрагмент метаданных, передаваемый с каждым веб-запросом и ответом, который содержит важную информацию о соединении, включая данные прокси-сервера, учетные данные для аутентификации и инструкции по маршрутизации. Для пользователей прокси-серверов именно заголовки обеспечивают работу соединений — они сообщают серверам, откуда поступили запросы, как их обрабатывать и какая прокси-инфраструктура их обработала.
Когда вы направляете трафик через прокси-сервис, HTTP-заголовки становятся «невидимой силой», управляющей вашим соединением. Каждый запрос, отправляемый вашим приложением, проходит через прокси-инфраструктуру, и именно заголовки делают этот путь возможным и безопасным.
Представьте себе заголовки как инструкцию по эксплуатации, прилагаемую к каждому фрагменту данных, передаваемому через Интернет. Когда ваш скрейпер, бот или приложение отправляет запрос через прокси-серверы, оно отправляет не только URL-адрес, к которому вы хотите получить доступ. Он также передаёт контекст: токены аутентификации, подтверждающие, что вы являетесь авторизованным пользователем, строки User-Agent, благодаря которым ваши запросы выглядят легитимными, а также технические сведения о том, какой именно ответ вы ожидаете получить.
Со стороны прокси-сервера заголовки выполняют ещё более важную роль. Они содержат информацию о том, какой прокси-сервер обработан ваш запрос, был ли контент получен из кэша или с исходного сервера, а также каким маршрутом прошел ваш трафик по сети. Заголовки, такие как X-Forwarded-For, сохраняют ваш исходный IP-адрес (или маскируют его, в зависимости от настроек), а заголовки Via фиксируют, что ваш запрос прошел через прокси-инфраструктуру.
Для клиентов, занимающихся веб-парсингом, заголовки имеют особое значение. Целевые веб-сайты используют заголовки для обнаружения ботов и парсеров — они анализируют ваш User-Agent, чтобы определить, действительно ли вы являетесь браузером, проверяют заголовки Accept, чтобы убедиться, что вы запрашиваете контент так же, как это делал бы реальный посетитель, а также изучают десятки других шаблонов заголовков. Прокси-серверы из частных сетей и центров обработки данных помогают вам отправлять правильные заголовки, чтобы не выделяться, но понимание того, как работают эти заголовки, даст вам возможность точно настроить ваши операции по сбору данных.
Заголовки также управляют процессом аутентификации при взаимодействии с прокси-сервисами. Ваш ключ API или токен аутентификации передается в заголовке «Authorization» (или, в некоторых случаях, в пользовательском заголовке, например «Proxy-Authorization»). Именно так прокси-инфраструктура определяет, с какой учетной записи следует списать плату, какую пул прокси-серверов к которым у вас есть доступ, и какие ограничения по частоте запросов к ним применяются. Если вы неправильно заполните заголовки, ваши запросы не пройдут аутентификацию. Если же вы заполните их правильно, у вас будет беспрепятственный доступ к глобальным прокси-сетям.
Важные заголовки для пользователей прокси-серверов
Заголовки аутентификации и авторизации
Прокси-авторизация: Вот как нужно пройти аутентификацию с помощью прокси-сервисов. Он передаёт ваши учетные данные (имя пользователя и пароль или токен API) в формате, подобном Стандартное кодирование base64 (имя пользователя:пароль). Каждый запрос, проходящий через прокси-серверы, должен содержать действительный заголовок «Proxy-Authorization», в противном случае он будет отклонен. Этот заголовок отличается от заголовка «Authorization», который предназначен для аутентификации на целевом веб-сайте.
Авторизация: Используется для аутентификации на целевом веб-сайте, к которому вы получаете доступ через прокси-серверы. Этот заголовок проходит через прокси-инфраструктуру без изменений и доходит до целевого сервера. Часто применяется при сборе данных из API, когда требуется доступ к защищённым конечные точки—прокси-серверы обрабатывают соединение, а ваш заголовок «Authorization» — аутентификацию на целевом сайте.
Маршрутизация через прокси и заголовки идентификации
X-Forwarded-For: Фиксирует цепочку IP-адресов, через которые прошел запрос. При использовании прокси-серверов этот заголовок может содержать ваш исходный IP-адрес, IP-адрес прокси-сервера или быть настроен таким образом, чтобы отображался только тот IP-адрес, который вы хотите показать целевому сайту. Прокси-сервисы предлагают настройки, при которых этот заголовок либо удаляется (для обеспечения максимальной анонимности), либо сохраняется (когда требуется точная геолокация). Понимание работы заголовка X-Forwarded-For имеет решающее значение для выяснения причин, по которым целевые сайты могут видеть определённые IP-адреса.
X-Real-IP: Более простая альтернатива заголовку X-Forwarded-For, содержащая лишь один IP-адрес. В некоторых конфигурациях этот заголовок используется для передачи вашего исходного IP-адреса целевому серверу, а в других — для внутренних целей в прокси-инфраструктуре в целях маршрутизации и аналитики. Вы можете настроить, будет ли этот заголовок отправляться на целевые сайты или останется внутренним.
Источник:: Автоматически добавляется прокси-серверами для указания того, что запрос прошел через прокси. Этот заголовок свидетельствует об использовании прокси, поэтому в некоторых конфигурациях, предназначенных для скрытого доступа, его удаляют перед пересылкой запросов. Если вы сталкиваетесь с блокировками, а заголовки Via присутствуют, рассмотрите возможность использования прокси-серверы для частного использования с удалением заголовка Via.
X-Forwarded-Proto: Указывает, использовался ли в исходном запросе протокол HTTP или HTTPS. Это важно в случаях, когда прокси-серверы осуществляют расторжение SSL — даже если ваше соединение с прокси-сервером может быть по протоколу HTTPS, этот заголовок сообщает целевому серверу, какой протокол вы изначально планировали использовать. Это позволяет избежать циклов перенаправлений и проблем, связанных со смешанным контентом.
Запрос заголовков настройки
User-Agent: Это наиболее тщательно анализируемый заголовок при веб-парсинге. Целевые сайты проверяют его, чтобы определить, какой браузер или приложение отправляет запросы. Отсутствие или подозрительный значок «User-Agent» служит сигналом тревоги. Прокси-сервисы могут автоматически менять значки «User-Agent», либо вы можете указать собственные значки. Рекомендация: используйте значки «User-Agent», соответствующие реальным браузерам на вашем целевом рынке. Сбор данных из Google с использованием User-Agent «Chrome» под Windows 10 выглядит нормально; использование Python-requests/2.28.0 сразу выдает вас как «бота».
Accept и Accept-Language: Настоящие браузеры отправляют подробные заголовки Accept, в которых перечислены типы контента, которые они поддерживают (HTML, изображения, JSON и т. д.), а также заголовок Accept-Language, указывающий предпочтительные языки. Скрейперы часто опускают эти заголовки или используют общие значения, что позволяет легко их обнаружить. При использовании прокси-серверов для скрейпинга отправляйте полные и реалистичные заголовки Accept. Многие прокси-сервисы предоставляют шаблоны заголовков, основанные на типичных настройках браузеров.
Referer: Сообщает целевому серверу, с какой страницы вы перешли. Многие веб-сайты проверяют этот параметр, чтобы предотвратить несанкционированное использование ссылок или прямой доступ к определённым страницам. При скрапинге с использованием прокси-серверов настройка соответствующих заголовков Referer позволяет сделать ваш трафик похожим на естественный просмотр страниц. Например, если вы выполняете скрапинг страниц товаров, заголовок Referer должен указывать на страницу категории или результаты поиска.
Файл cookie: Это необходимо для поддержания сеансов при скрапинге страниц, доступных только после входа в систему, или при работе с системами защиты от ботов, использующими файлы cookie. Прокси-серверы прозрачно передают заголовки cookie, однако вы несете ответственность за управление состоянием файлов cookie в вашем приложении для скрапинга. Совет от профессионала: некоторые системы защиты от ботов идентифицируют вас по особенностям работы с файлами cookie. Имитация поведения браузера при работе с файлами cookie повышает вероятность успешного выполнения запросов.
Заголовки ответов от прокси-сервисов
X-Proxy-Cache: Стандартный пользовательский заголовок, указывающий, откуда поступил ответ: кэш или был получен непосредственно с целевого сервера. Возможные значения: HIT (ответ из кэша), MISS (запрос с целевого сервера) или BYPASS (не подлежит кэшированию). Отслеживание этих показателей поможет вам оценить производительность и определить, не превышаете ли вы лимиты частоты запросов из-за запросов, не кэшируемых в кэше.
X-Proxy-ID: Указывает, какой именно прокси-сервер в сети обработал ваш запрос. Полезно при отладке — если у вас возникают проблемы с определенными запросами, этот заголовок позволяет установить связь между проблемами и конкретными прокси-узлами. Вы можете предоставить эту информацию службам поддержки для более быстрого устранения неполадок.
Оставшийся лимит скорости X: Показывает, сколько запросов у вас осталось до достижения лимита ограничение частоты запросов. Провайдеры прокси-серверов реализуют эту функцию, чтобы помочь вам проактивно управлять объемом запросов. Когда это число становится низким, ваше приложение может замедлить работу или приостановить отправку новых запросов, что позволяет предотвратить серьезные сбои, связанные с превышением лимитов.
Случаи использования
Мониторинг цен в сфере электронной коммерции: Когда мониторинг цен конкурентов с использованием прокси-серверов для частных пользователей, правильные заголовки имеют решающее значение. Вам необходимо будет задавать реалистичные заголовки User-Agent и Accept-Language в соответствии с целевым рынком, использовать заголовок Referer для имитации просмотра страниц категорий, а также чередовать эти заголовки в разных запросах, чтобы избежать идентификации по «отпечатку». Функции чередования заголовков позволяют автоматизировать этот процесс, используя набор проверенных конфигураций браузеров.
Сбор данных из социальных сетей: Такие платформы, как Instagram и Facebook, тщательно анализируют заголовки. Для поддержания сеансов вам потребуются идеальные строки User-Agent, полные заголовки Accept, правильные значения Accept-Encoding (gzip, deflate) и управление файлами cookie. Использование частных IP-адресов в сочетании с заголовками, характерными для браузеров, делает вашу автоматизацию неотличимой от действий реальных пользователей. Заголовок Authorization передаёт ваши токены API при доступе к официальным API через прокси-серверы.
Отслеживание позиций в поисковых системах: Когда проверка позиций в поисковых системах При подключении из разных мест с использованием прокси с географической привязкой именно заголовки определяют, какие результаты вы увидите. Заголовки Accept-Language должны соответствовать целевой стране, User-Agent должен отражать распространённые в данном регионе браузеры, а X-Forwarded-For (если он не удалён) должен совпадать с используемым вами частным IP-адресом. Несоответствие этих сигналов может привести к Задачи CAPTCHA.
Проверка рекламы: Проверка размещения рекламных объявлений требует, чтобы ваши запросы точно соответствовали трафику целевой аудитории. Это означает, что заголовки User-Agent должны соответствовать конкретным устройствам (мобильный Safari на iPhone 13, Chrome на Windows 10), параметр Accept-Language — языку целевого рынка, а заголовки Do-Not-Track должны быть настроены в соответствии с типичным поведением пользователей. Резидентные прокси предоставляют IP-адрес; вы предоставляете профиль заголовков, соответствующий вашим критериям проверки.
Массовый скрапинг API: При использовании сторонних API через прокси-серверы заголовок Authorization обеспечивает аутентификацию в API, а заголовок Proxy-Authorization — в прокси-сервисе. В зависимости от требований целевого API вы также можете использовать настраиваемые заголовки, такие как X-API-Key. Прокси-инфраструктура сохраняет все ваши заголовки, добавляя лишь необходимые заголовки, связанные с прокси. Заголовки ограничения скорости как со стороны API, так и со стороны прокси-сервиса помогают вам оптимально координировать запросы.
Исследование рынка и агрегирование данных: Сбор данных из различных источников требует применения различных стратегий обработки заголовков для каждого сайта. Некоторые тщательно проверяют заголовок Referer, другие уделяют внимание User-Agent, а многие проверяют, соответствуют ли заголовки Accept типу контента. Панели управления прокси позволяют настраивать правила для заголовков на уровне домена, благодаря чему каждый целевой ресурс автоматически получает соответствующие заголовки. Заголовок X-Forwarded-For можно настраивать для каждого сеанса в зависимости от того, использует ли целевой ресурс его для геолокации или обнаружение ботов.
Передовой опыт
Всегда указывайте авторизацию прокси-сервера: Это может показаться очевидным, но именно это является основной причиной сбоев при подключении. Убедитесь, что заголовок Proxy-Authorization имеет правильный формат и содержит актуальные учетные данные. Если вы получаете ошибки 407 (требуется аутентификация через прокси), проверьте, присутствует ли этот заголовок и верно ли он заполнен. На панелях управления прокси-серверов, как правило, отображаются строки аутентификации в правильном формате — скопируйте их точно.
Умная ротация заголовков User-Agent: Не выбирайте User-Agent из списка наугад. Согласуйте значение User-Agent с устройством или браузером, который вы имитируете в других заголовках. Если вы отправляете мобильный User-Agent, размеры области просмотра и заголовки Accept также должны соответствовать мобильным стандартам. Функции ротации User-Agent автоматически обеспечивают согласованность связанных заголовков. Ни в коем случае не отправляйте отсутствующие или подозрительные User-Agents, такие как «Mozilla/4.0» или просто «Python».
Используйте полные наборы заголовков: Настоящие браузеры отправляют 15–20 заголовков с каждым запросом. Отправка всего 3–4 заголовков сразу выдает вас. Как минимум, включите следующие заголовки: User-Agent, Accept, Accept-Language, Accept-Encoding, Connection и Referer (при необходимости). Шаблоны заголовков содержат полные наборы, соответствующие поведению реальных браузеров. Разница в показателях успешности между минимальным набором заголовков и полным набором, имитирующим поведение браузера, на защищённых сайтах может составлять 40–50 %.
Учет заголовков X-Rate-Limit: Как целевые сайты, так и прокси-сервисы возвращают информацию об ограничениях скорости в заголовках. Игнорирование этой информации приводит к блокировкам и сбоям в работе сервиса. Разработайте логику скрапинга таким образом, чтобы она считывала заголовки X-Rate-Limit-Remaining и X-Rate-Limit-Reset и соответствующим образом регулировала скорость запросов. Это позволит избежать достижения жестких ограничений и поможет сохранить хорошие отношения как с провайдерами прокси-сервисов, так и с целевыми сайтами.
Настройте поле X-Forwarded-For в соответствии с случаями использования: Для обеспечения максимальной конфиденциальности полностью удалите поле X-Forwarded-For с помощью настроек управления заголовками. В случаях, когда геолокация имеет значение (результаты локального поиска, региональный контент), убедитесь, что значение поля X-Forwarded-For соответствует вашему местоположение прокси-сервера для частного использования. Для отладки вы можете внутренне сохранять исходный IP-адрес в этом заголовке, удаляя его перед отправкой конечным адресатам. Выберите конфигурацию, соответствующую вашим конкретным потребностям.
Мониторинг полей «Via» и «Forwarded»: Эти заголовки указывают на использование прокси. Большинство целевых сайтов игнорируют их, однако сложные системы защиты от ботов проверяют их наличие. Резидентные прокси могут автоматически удалять эти заголовки в режиме «стелс». Если вы сталкиваетесь с высоким процентом блокировок, проверьте, отправляются ли заголовки Via или Forwarded целевым сайтам — панели управления прокси точно показывают, какие именно заголовки были отправлены с каждым запросом. При необходимости переключитесь в режимы удаления заголовков.
Заключение
Для пользователей прокси-серверов HTTP-заголовки являются интерфейсом управления веб-трафиком. Они обеспечивают аутентификацию вашего доступа к инфраструктуре прокси-сервера, настраивают то, как ваши запросы отображаются целевым сайтам, а также предоставляют важную информацию для отладки. Освойте работу с заголовками — и вы освоите сбор данных через прокси: сможете добиться более высоких показателей успешности, избежать блокировок и извлечь данные, необходимые вашему бизнесу, оставаясь незамеченными.
Часто задаваемые вопросы
Прокси-авторизация предназначена для аутентификации в прокси-сервисах — она подтверждает, что вы являетесь платным клиентом, имеющим доступ к прокси-сети. Авторизация предназначена для аутентификации на целевом веб-сайте, к которому вы получаете доступ через прокси. Представьте себе это как систему с двумя дверями: «Proxy-Authorization» открывает вам дверь прокси-сервера, а «Authorization» — дверь целевого сайта (его API или защищенные страницы). Часто требуются обе: «Proxy-Authorization» для каждого запроса, проходящего через прокси-сервис, и «Authorization» при доступе к конечным точкам, требующим аутентификации, на целевых сайтах. Это совершенно разные учетные данные, служащие разным целям.
Использование прокси-сервера может выявить наличие нескольких заголовков: Via, X-Forwarded-For, X-Real-IP и Forwarded. Сложные сайты проверяют наличие этих заголовков и соответствующим образом маркируют трафик. Воспользуйтесь функциями регистрации запросов прокси, чтобы точно определить, какие заголовки достигли целевого сервера. Если вы видите заголовок Via или несколько IP-адресов в поле X-Forwarded-For, целевой сервер понимает, что вы используете прокси. Включите «стелс-режим» или «удаление заголовков» в настройках прокси, чтобы устранить эти признаки использования прокси. Резидентные прокси с полным управлением заголовками автоматически удаляют их при включенном режиме скрытности. Вы можете проверить это, направляя запросы на httpbin.org/headers и проверяя, что отображается.
Одного только User-Agent недостаточно — сложные системы защиты от ботов определяют ваш «отпечаток» на основе полного набора заголовков. Если вы отправляете User-Agent, характерный для Chrome, но при этом отсутствуют ключевые заголовки Chrome (такие как Sec-CH-UA, Sec-Fetch-Dest или правильный Accept-Encoding), вы выглядите подозрительно. Также проверьте: отправляете ли вы одинаковые заголовки во всех запросах? Является ли ваш Referer логичным? Правильно ли управляются файлы cookie? Соответствуют ли ваши Accept-Language и User-Agent географическому положению? Используйте системы шаблонов заголовков, которые обеспечивают полные и согласованные «отпечатки» браузера. Многие блокировки связаны не с отдельными заголовками, а с общим шаблоном и согласованностью всех заголовков в совокупности.
Безусловно. В большинстве панелей управления прокси-серверами предусмотрен раздел «Управление заголовками», в котором можно настраивать правила для заголовков как для отдельных доменов, так и в общем порядке. Вы можете добавлять пользовательские заголовки, удалять определенные из них, чередовать User-Agents из предустановленных наборов, а также контролировать заголовки, раскрывающие информацию о прокси, такие как Via и X-Forwarded-For. Для опытных пользователей многие сервисы предлагают возможность вставки заголовков через API — отправляйте с каждым запросом конфигурацию в формате JSON, точно указывая, какие заголовки следует использовать. Это обеспечивает вам полный контроль, сохраняя при этом удобство управляемой инфраструктуры для аутентификации и маршрутизации заголовков.