Протокол адаптации интернет-контента (ICAP ) - это облегченный протокол, подобный HTTP, указанный в RFC 3507, который используется для расширения прозрачных прокси-серверов, тем самым высвобождая ресурсы и стандартизируя способ реализации новых функций. ICAP обычно используется для реализации поиска вирусов и фильтров содержимого в прозрачных кэшах прокси HTTP. Адаптация контента относится к выполнению конкретной услуги с добавленной стоимостью (манипулирование контентом) для связанного клиентского запроса / ответа.
ICAP концентрируется на использовании граничных устройств (кэширующих прокси ) для предоставления дополнительных услуг. В основе этого процесса лежит кэш, который будет проксировать все транзакции клиента и обрабатывать их через веб-серверы. Эти серверы ICAP ориентированы на выполнение определенных функций, например, вставку рекламы, сканирование на вирусы, сканирование мульти-AV, перевод контента, языковой перевод или фильтрацию контента. Выгрузка дополнительных услуг с веб-серверов на серверы ICAP позволяет масштабировать те же самые веб-серверы в соответствии с необработанной пропускной способностью HTTP, а не выполнять эти дополнительные задачи.
ICAP был предложен в конце 1999 года Питером Данцигом и Джоном Шустером из Network Appliance. Дон Гиллис взял на себя руководство проектом весной 2000 года и усовершенствовал протокол тремя основными способами:
Гиллис создал прототип первого клиента и сервера ICAP для серии интернет-кешей NetCache в середине 2000 г. ( известный как протокол ICAP 0.9) и подготовил обучающие материалы для поставщиков. Клиент был написан на C ++ в ядре сервера NetCache, а демонстрационный сервер ICAP был написан на Perl и использовал фильтры замены слов Debian для перезаписи веб-страниц, пропуска тегов HTML и перевода веб-страниц в Шведский повар или Jive в реальном времени. Обладая знаниями, полученными из опыта создания прототипов, Гиллис пересмотрел черновой вариант стандарта IETF, сделав RPC с использованием только фрагментированного кодирования, что значительно упростило протокол ICAP.