Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

Кэширование WEB-страниц в прокси...КАК?   Найти похожие ветки 

 
Djnt   (2006-04-09 13:43) [0]

Пишу проксик на Инди, ну собственно уже написал почти, но никак не могу придумать технологию кэширования страниц,и не очень понятен потом алгоритм поиска сохранённых страниц...

Если кто с подобным сталкивался, или есть пример кода, ссылка на помощь по этому делу буду очень благодарен!


 
Ketmar ©   (2006-04-09 19:22) [1]

индекс, в котором хранится имя сохранённого на диске файла и время его изменения. размер индекса лимитирован только терпением юзера. для маленьких кэшэй вполне подойдёт какой-нибудь TStringList.


 
Poirot ©   (2006-04-10 09:21) [2]

Для начала проситай про HTTP например, есть замечательные заголовки, которые как раз таки и могут помочь кешировать страницы...
А далее думаю разобраться легче буит по каким признакам искать...
Я в своё время просто хешировал URL и сохрянал файл в соответствии со значением хеша и потом по этому хешу мог спокойно найти страничку, а вот затем уже определить up to date она или нет поможет чтение заголовка HTTP ответа от сервера на запрос HEAD.
Дерзай. Удачи.
Есть простенькая книжка по HTTP:

HTTP Developer"s Handbook By Chris Shiflett
   
Publisher : Sams Publishing
Pub Date : March 21, 2003
ISBN : 0-672-32454-7
Pages : 312


 
Djnt   (2006-04-10 19:32) [3]


> индекс, в котором хранится имя сохранённого на диске файла
> и время его изменения

не очень понял это....индекс по моему разумению это ж уникальное число , номер...как в нем может храниться имя не понятно..
про поиск более менее понял...а вот про сохранение файлов ВЕБА в папку с прокси - есть ли какой нить метод - что б буфер который у меня в buff:=idTCPClient.AllData(); сразу пихнуть в файл с именем запроса?


 
Poirot ©   (2006-04-11 10:45) [4]

>>не очень понял это....индекс по моему разумению это ж уникальное число , номер...
Я же написал - Хеширование - напримерр MD5 можно попробовать - т.е. считаешь хешь строки запроса и получаешь 128 бит или 32 символа в HEX вот это и буит имя файла или уникальный идентификатор файла.
ЗЫ: А почему пользуешь idTCP? чем idHttp не угодил?!
Задача в чем написать HTTP сервер или просто TPC изучить и на нём написать?!
>>buff:=idTCPClient.AllData();
Есть потоки например для этого!


 
Poirot ©   (2006-04-11 10:48) [5]

Частично снимаю свои коментарии поповоду HTTP.


 
Djnt   (2006-04-12 10:22) [6]


> >>buff:=idTCPClient.AllData();
> Есть потоки например для этого!

потоки для сохраненеия буфера? если можно - пример...
да задача использовать именно idTCPServer, на ХТТПсервер там и писать нечего)) там все написано)



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
15-1154503937
Ega23
2006-08-02 11:32
2006.08.27
Кстати, о птичках: в днём Войск Дяди Вани!


15-1153990849
Юрий Зотов
2006-07-27 13:00
2006.08.27
"Не связывайся с дураками".


2-1154603864
Max.66RUS
2006-08-03 15:17
2006.08.27
Как убить процесс, зная его имя...


15-1154277710
Сатир
2006-07-30 20:41
2006.08.27
Ищуются исходники какого-нить каталога


2-1154385873
Drashka
2006-08-01 02:44
2006.08.27
BlueTooth





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский