Squid (программное обеспечение)

редактировать

Squid
Логотип проекта Squid
Разработчик (и) Дуэйн Весселс, Хенрик Нордстрём, Амос Джеффрис, Алекс Руссков, Франческо Чемолли, Роберт Коллинз, Гвидо Серассио и добровольцы
Первый выпускиюль 1996 (1996-07)
Стабильный выпуск 4.13 / 22 августа 2020; 2 месяца назад (2020-08-22)
Репозиторий https://github.com/squid-cache/squid
Написано наC ++
Операционная система BSD, Linux, Unix, Windows
Тип Прокси-сервер
Лицензия GNU GPLv2
Веб-сайтwww.squid-cache.org
LAMP (программный пакет) с Squid в качестве веб-кеша.

Squid - это кэширование и пересылка HTTP веб-прокси. Он имеет множество применений, включая ускорение веб-сервера путем кэширования повторяющихся запросов, кеширования web, DNS и других компьютерных сетей поиск группы людей, совместно использующих сетевые ресурсы, и обеспечение безопасности путем фильтрации трафика. Хотя в основном он используется для HTTP и FTP, Squid включает ограниченную поддержку нескольких других протоколов, включая Internet Gopher, SSL, TLS и HTTPS. Squid не поддерживает протокол SOCKS, в отличие от Privoxy, с которым Squid может использоваться для обеспечения поддержки SOCKS.

Squid изначально разрабатывался для запуска в качестве демона в Unix-подобных системах. Порт Windows поддерживался до версии 2.7. Новые версии, доступные в Windows, используют среду Cygwin. Squid - это бесплатное программное обеспечение, выпущенное под Стандартной общественной лицензией GNU.

Содержание
  • 1 История
  • 2 Базовая функциональность
  • 3 Обратный прокси
  • 4 Ограничения диапазона носителей
  • 5 Поддерживаемые операционные системы
  • 6 См. Также
  • 7 Ссылки
  • 8 Дополнительная литература
  • 9 Внешние ссылки
История

Squid изначально разрабатывался как кэш объекта Harvest, часть проекта Harvest в Университете Колорадо в Боулдере. Дальнейшая работа над программой была завершена в Калифорнийском университете в Сан-Диего и финансировалась за счет двух грантов Национального научного фонда. Дуэйн Весселс создал «последнюю прекоммерческую версию Harvest» и переименовал ее в Squid, чтобы избежать путаницы с коммерческим форком под названием Cached 2.0, который стал NetCache. Версия Squid 1.0.0 была выпущена в июле 1996 года.

Squid теперь разрабатывается почти исключительно благодаря усилиям добровольцев.

Базовая функциональность

После установки прокси-сервера Squid веб-браузеры могут быть настроены для использования его в качестве прокси HTTP-сервера, что позволяет Squid для сохранения копий возвращенных документов, что при повторных запросах одних и тех же документов может сократить время доступа, а также потребление полосы пропускания. Это часто бывает полезно для интернет-провайдеров, чтобы увеличить скорость для своих клиентов, и для локальных сетей, которые используют Интернет соединение. Поскольку кэширующие серверы контролируются оператором веб-службы, кэширующие прокси не анонимизируют пользователя, и их не следует путать с анонимными прокси.

Клиентская программа (например, браузер) должна либо явно указать прокси-сервер, который она хочет использовать (типично для клиентов интернет-провайдеров), либо она может использовать прокси без какой-либо дополнительной конфигурации: «прозрачное кэширование», в в этом случае все исходящие HTTP-запросы перехватываются Squid и все ответы кэшируются. Последнее, как правило, является корпоративной настройкой (все клиенты находятся в одной локальной сети) и часто вызывает проблемы конфиденциальности, упомянутые выше.

Squid имеет некоторые функции, которые могут помочь анонимизировать соединения, такие как отключение или изменение определенных полей заголовка в клиентских HTTP-запросах. Установлены ли они и что они должны делать, зависит от человека, который контролирует компьютер, на котором запущен Squid. Люди, запрашивающие страницы через сеть, которая прозрачно использует Squid, могут не знать, регистрируется ли эта информация. По крайней мере, в британских организациях пользователи должны быть проинформированы, если отслеживаются компьютеры или интернет-соединения.

Обратный прокси

Вышеупомянутая настройка - кэширование содержимого неограниченного количества веб-серверов для ограниченного числа клиентов - классический. Другая настройка - «обратный прокси » или «ускорение веб-сервера» (с использованием http_port 80 accept vhost). В этом режиме кеш обслуживает неограниченное количество клиентов для ограниченного количества веб-серверов или только для одного.

В качестве примера, если slow.example.com - «настоящий» веб-сервер, а www.example.com - это сервер кеширования Squid, который «ускоряет» его, при первом запросе любой страницы с www.example.com, кеш-сервер получит реальную страницу с slow.example.com, но более поздние запросы будут получать сохраненную копию непосредственно из ускорителя (в течение настраиваемого периода, после которого сохраненная копия будет отброшена). Конечным результатом без каких-либо действий со стороны клиентов является меньший трафик на исходный сервер, что означает меньшее использование ЦП и памяти и меньшую потребность в полосе пропускания. Однако это означает, что исходный сервер не может точно сообщить о количестве своего трафика без дополнительной настройки, поскольку все запросы, по-видимому, исходят от обратного прокси. Способ адаптации отчетов на исходном сервере заключается в использовании HTTP-заголовка X-Forwarded-For, сообщаемого обратным прокси-сервером, для получения реального IP-адреса клиента.

Один сервер Squid может одновременно работать и как обычный, и как обратный прокси. Например, компания может разместить свой собственный веб-сайт на веб-сервере, при этом сервер Squid действует как обратный прокси-сервер между клиентами (клиентами, получающими доступ к веб-сайту извне компании) и веб-сервером. Тот же сервер Squid может действовать как классический веб-кеш, кэшируя HTTP-запросы от клиентов внутри компании (то есть сотрудников, выходящих в Интернет со своих рабочих станций), таким образом ускоряя веб-доступ и снижая требования к пропускной способности.

Ограничения диапазона носителей

Например, функция протокола HTTP состоит в том, чтобы ограничить запрос диапазоном данных в указанном ресурсе. Эта функция широко используется веб-сайтами потокового видео, такими как YouTube, так что, если пользователь щелкает до середины полосы воспроизведения видео, сервер может начать отправлять данные с середины файла, а не отправка всего файла с самого начала и ожидание завершения загрузки предшествующих данных.

Частичные загрузки также широко используются Microsoft Центр обновления Windows, поэтому очень большие пакеты обновлений могут загружаться в фоновом режиме и приостанавливаться на полпути загрузки, если пользователь выключает свой компьютер или отключается от сети. Интернет.

Формат загрузки Metalink позволяет клиентам выполнять сегментированные загрузки, отправляя частичные запросы и распределяя их по нескольким зеркалам.

Squid может ретранслировать частичные запросы на исходный веб-сервер. Чтобы частичный запрос из кеша был удовлетворен с высокой скоростью, Squid требует, чтобы в его хранилище уже существовала полная копия того же объекта.

Если пользователь прокси-видео смотрит видеопоток и переходит на другую страницу до полной загрузки видео, Squid не может сохранить частичную загрузку для повторного использования и просто отбрасывает данные. Для принудительного продолжения и кэширования таких загрузок требуется специальная конфигурация.

Поддерживаемые операционные системы

Squid может работать в следующих операционных системах :

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Дополнительная литература
  • Wessels, Duane (2004). Squid: The Definitive Guide. O'Reilly Media. ISBN 978-0-596-00162-9.
  • Сайни, Кульбир (2011). Прокси-сервер Squid 3.1: Руководство для начинающих. Packt Publishing. ISBN 978-1-849-51390-6.
Внешний ссылки
Последняя правка сделана 2021-06-09 04:21:01
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте