Кіріспе

Интернет мазмұнын бейімдеу протоколы (ICAP) – HTTP сияқты жеңіл протокол болып табылады және мөлдір прокси-серверлерді кеңейту үшін пайдаланылады, соның арқасында ресурстар босатылып, жаңа мүмкіндіктерді енгізу әдісі стандартталады. ICAP көбінесе мөлдір HTTP прокси кэштерінде вирусты тексеру және мазмұн сүзгілерін іске асыру үшін қолданылады. Мазмұнды бейімдеу – бұл клиент сұранысы/жауабы үшін белгілі бір қосымша құн қызметін (мазмұнды өңдеу) атқару. ICAP шеттік құрылғыларды (кэштеу проксилері) пайдаланып, қосымша құн қызметтерін жеткізуге бағытталған. Осы процестің ядросында – барлық клиент транзакцияларын проксилейтін және оларды веб-серверлер арқылы өңдейтін кэш тұрады. ICAP серверлері нақты бір функцияға бағытталған, мысалы, жарнама енгізу, вирусқа тексеру, бірнеше AV тексеру, мазмұнды аудару, тілді аудару немесе мазмұнды сүзгілеу. Веб-серверлерден ICAP серверлеріне қосымша құн қызметтерін жүктеу, сол веб-серверлерді шикі HTTP өткізу деңгейіне сәйкес кеңейтуге мүмкіндік береді, осылайша олардың осы қосымша міндеттерді орындауына қажеттілік туындамайды.

Тарих

ICAP 1999 жылдың соңында Network Appliance компаниясының Питер Данциг және Джон Шустерлері ұсынды. Дон Гиллис 2000 жылдың көктемінде жобаны өз мойнына алып, протоколды үш негізгі бағытта жетілдірді: құбырлы ICAP серверлеріне мүмкіндік беру. Бір веб-бетті вирусты тексеру, мазмұнды сүзу және тіл аудару серверлері арқылы жылдам жіберуге болады. HTTP 1.1-дегі барлық 3 мазмұн кодтауын (мазмұн ұзындығы, бөліктелген және TCP жабылу) қолдау. Бұл бастапқы сақтау және жіберу протоколын бірден көп сервер арқылы мазмұнды үздіксіз ағынмен алмастырды. ICAP серверіне мазмұнды өңдеуге немесе өңдемеуге шешім қабылдамас бұрын мазмұнның алғашқы бірнеше жүз байтын қарауға мүмкіндік беретін «мазмұн алдын ала шолуы» деп аталатын мүмкіндік қосылды. Бұл ICAP клиенті конфигурацияланғанда ICAP веб-серверінің URL-іне алдын ала шолу аргументінің мөлшерін қосу арқылы іске асырылды. Гиллис 2000 жылдың ортасында NetCache интернет кэштерінің сериясы үшін алғашқы ICAP клиенті мен серверін жасады (ICAP 0.9 протоколы деп аталды) және сатушыларға оқу материалдарын әзірледі. Клиент NetCache серверінің ядросында C++ тілінде жазылды, ал демонстрациялық ICAP сервері Perl тілінде жазылды және веб-беттерді қайта жазу үшін Debian сөздерін алмастыру сүзгілерін пайдаланды, HTML тегтерін өткізіп, веб-беттерді швед аспазшысының немесе Jive стилінде нақты уақытта аударды. Прототиптеу тәжірибесінен алған білімімен Гиллис IETF стандарт жобасын тек бөліктелген кодтауды қолдана отырып RPC жасау үшін қайта қарастырды, бұл ICAP протоколын едәуір жеңілдетті.