stringtranslate.com

Кальмар (программное обеспечение)

Стек LAMP с Squid в качестве веб-кеша.

Squid — это веб-прокси HTTP с кэшированием и пересылкой . Он имеет широкий спектр применений, включая ускорение веб-сервера за счет кэширования повторяющихся запросов, кэширования Всемирной паутины (WWW), системы доменных имен (DNS) и других сетевых поисков для группы людей, совместно использующих сетевые ресурсы, а также обеспечения безопасности. путем фильтрации трафика. Хотя Squid используется в основном для HTTP и протокола передачи файлов (FTP), он включает ограниченную поддержку нескольких других протоколов , включая Internet Gopher , Secure Sockets Layer (SSL), [7] Transport Layer Security (TLS) и протокол безопасной передачи гипертекста ( HTTPS ). . Squid не поддерживает протокол SOCKS , в отличие от Privoxy , с которым Squid можно использовать для обеспечения поддержки SOCKS.

Squid изначально был разработан для работы в качестве демона в Unix-подобных системах. Порт Windows поддерживался до версии 2.7. Новые версии, доступные для Windows, используют среду Cygwin . [8] [9] Squid — бесплатное программное обеспечение , выпущенное под лицензией GNU General Public License .

История

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

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

В октябре 2023 года выяснилось, что Squid по-прежнему страдает от 35 уязвимостей безопасности, которые не были устранены в течение двух с половиной лет после их первоначального сообщения. [16]

Базовый функционал

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

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

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

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

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

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

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

Ограничения медиадиапазона

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

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

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

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

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

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

Squid поддерживает множество операционных систем , в том числе:

Смотрите также

Рекомендации

  1. ^ «Логотип проекта Squid» . Проверено 6 июля 2014 г.
  2. ^ «Кто заботится о проекте Squid?».
  3. ^ «кальмар: оптимизация веб-доставки» . 8 апреля 2024 г. Проверено 8 апреля 2024 г.
  4. ^ squid-cache/squid, Squid, 27 июля 2022 г. , получено 27 июля 2022 г.
  5. ^ «Какая ОС для Squid лучше всего?».
  6. ^ «Лицензия на кальмаров».
  7. ^ ab К.Мик Боуман, Питер Б. Данциг, Даррен Р. Харди, Уди Манпер, Майкл Ф. Шварц, Система обнаружения и доступа к информации The Harvest, Компьютерные сети и системы ISDN, Том 28, выпуски 1–2, декабрь 1995 г., Страницы 119–125. doi:10.1016/0169-7552(95)00098-5
  8. ^ «Кальмар для Windows». Гитхаб . Февраль 2024 г. Текущая сборка основана на последней сборке Squid 4 для 64-разрядной версии Cygwin Windows.
  9. ^ "База знаний Squid-cache.org" . Кальмар в Windows
  10. ^ Введение Squid на сайте Squid.
  11. ^ Кэш Harvest теперь доступен как «ускоритель httpd», Майк Шварц в списке рассылки http-wg, вторник, 4 апреля 1995 г., перенаправлен Брайаном Белендорфом в список рассылки разработчиков Apache HTTP Server.
  12. ^ «Спонсоры кальмаров». Архивировано из оригинала 11 мая 2007 года . Проверено 13 февраля 2007 г. NSF был основным источником финансирования разработки Squid в 1996–2000 годах. Два гранта (#NCR-9616602, #NCR-9521745), полученные Отделом передовой сетевой инфраструктуры и исследований (ANIR), находились под управлением Калифорнийского университета в Сан-Диего.
  13. ^ ab Дуэйн Весселс Кальмар и ICP: прошлое, настоящее и будущее, Труды австралийской группы пользователей Unix. Сентябрь 1997 г., Брисбен, Австралия.
  14. ^ «netcache.com». Архивировано из оригинала 12 ноября 1996 года . Проверено 7 августа 2012 г.
  15. ^ «Часто задаваемые вопросы по Squid: работает ли Squid в Windows?».
  16. ^ «55 уязвимостей в прокси-сервере кэширования Squid и 35 0days» . 11 октября 2023 г.
  17. ^ Дополнительную информацию см. в документации по header_access и header_replace .
  18. ^ См., например, «Мониторинг компьютеров на рабочем месте и ваша конфиденциальность».
  19. ^ «Справочник по конфигурации Squid» . Проверено 26 ноября 2012 г.
  20. ^ Порты OS/2 Пола Смедли, Порты OS/2
  21. ^ "База знаний/Windows - Wiki веб-прокси Squid" .

дальнейшее чтение

Внешние ссылки