>> Уважаемое сообщество, прошу помощи в понимании следующей ситуации. >> >> Есть программа на С под задачу - зайти через прокси в интернет (squid >> 2.6STABLE12 + ad), забрать файл с данными (три цифры внутри файла) и >> положить его в папку. И вот так с частотой 1 раз в секунду. >> >> Вчера наблюдал ситуацию, когда в консоль программа писала значения >> один раз корректные, затем нули, затем опять корректные значения. > > попали в момент перезаписи файла? он ведь и перезаписывается раз в секунду > как раз наверно?
Узнал следующее. Данные формирует php скрипт, о перезаписи файла речь не идет. > >> Данные у источника в интернете не изменялись "в нуль", это >> проверялось. Лечилось перезапуском программы. >> >> Программист утверждает, что программа тупая как валенок. Забирает по >> http то, что ей отдает сервер. > > что отдаёт программа когда в файле один только EOF? Байт в байт возвращает, что получил. Данные парсятся как раз по управляющим байтам. > >> В прочем, это видно в консоли от >> запроса до ответа и содержимого. И по этой причине грешу на squid, как >> промежуточное звено, что он то отдавал данные из интернета, затем из >> кеша, опять из интернета и затем опять из кеша. А в кеше были >> "нулевые" значения скорей всего. > > сквид кэш делает не от фонаря а на основании expires ответа от сервера Почитал подробней о http. Вот заголовки которые получаю без прокси дома: wget -S http://***.ru/index1.php; Запрос HTTP послан, ожидается ответ... HTTP/1.0 200 OK Date: Fri, 23 Jul 2010 10:27:02 GMT Server: Apache Vary: Accept-Encoding Content-Length: 9 Content-Type: text/html; charset=WINDOWS-1251 X-Cache: MISS from turbine3.ht-systems.ru Connection: keep-alive Длина: 9 [text/html] Сохраняется в каталог: `index1.php.4'. 100%[====================================================>] 9 --.-K/s в 0s 2010-07-23 14:27:02 (2,17 MB/s) - `index1.php.4' сохранён [9/9] $ cat index1.php.4 437 262 75 А вот, что получаю через прокси: wget -S http://***.ru/index1.php; Запрос Proxy послан, ожидается ответ... HTTP/1.0 200 OK Date: Fri, 23 Jul 2010 10:10:34 GMT Server: Apache Vary: Accept-Encoding Content-Length: 14 Content-Type: text/html; charset=WINDOWS-1251 X-Cache: MISS from turbine3.ht-systems.ru X-Cache: MISS from proxy X-Cache-Lookup: MISS from proxy:3128 Via: 1.0 proxy:3128 (squid/2.6.STABLE12) Proxy-Connection: keep-alive Длина: 14 [text/html] Сохраняется в каталог: `index1.php.3'. 100%[====================================================>] 9 --.-K/s в 0s $ cat index1.php.3 437 262 75 При выполнении wget -N http://***.ru/index1.php; данные всегда новые - не кешируются значит? Поля в заголовке Last-Modified в обоих случаях нет. Как сквид работает с данными без этого поля? > >> Кстати говоря таких потоков передачи 3 и все они глючили как описано выше. >> >> Подскажите, кто имеет опыт работы со сквидом. Такой глюк(?) с прокси >> возможен? >> Программисту софтины или админу сквида предъявлять претензии? > > дизайнеру всей системы, похоже Угу. Или переделывать и усложнять, или допиливать.

