BigJo

Записи в журналах друзей на bezumnoe.ru

свежак

Творчество так и прет)))

Last-Modified

Задача: на сайте используется набор javascript-библиотек, которые сливаются php-скриптом в один файл с названием вида 78472581267468236825748923.js (где цифры - имплод номеров версий каждой отдельной библиотеки), а контент оптимизирован и (может быть) как-то упакован. Планируется, что сий файл будет сидеть в кеше (а по размеру он довольно большой) и когда версия хоть одной из библиотек изменится - изменится имя файла и он будет заново запрошен с сервера. Все счастливы, траффик сэкономлен, дети смеются, Санта Клаус раздаёт подарки, мир во всём мире.

Как же дело обстоит на самом деле? В один прекрасный момент вы замечаете, что траффик у вас совсем не убавился и посмотрев статистику обнаруживаете, что ваш файлик с красивым именем 78472581267468236825748923.js таскается с сервера при каждом запросе и ну никак не хочет залезать в кеш браузера.

Начинаем копать глубже и при сравнении хедеров нашего файла и обычного статичного js обнаруживаем, что у последнего в хедере присутствует параметр "Last-Modified: Wed, 10 Sep 2008 07:01:14 GMT", определяющий дату обновления файла. В нашем же файле параметр сий отсутствует и сервер каждый раз шлёт ответ клиенту "200 ОК" с полным контентом.

Гуглим. Пишем принудительную отправку этого параметра в хедере. Не шлётся и всё - хоть убейся.

На различных форумах в сети есть много логичных объяснений. Например, "хренли слать дату обновления скрипта, если контент динамический?" (действительно, возразить сложно).

Грешил сначала на апач (думал, он отправляемые мной хедеры парсит и пропускает только то, что ему угодно).

Попробовал активировать для моего файла xBitHack. Появились первые подвижки - в хедере возник "Last-Modified", однако, ссылался он на текущую дату/время и изменениям не поддавался.

Потом думал, что пхп не хочет мои хедеры отдавать. 10 раз проверил все возможные варианты синтаксиса, генерацию даты, генерацию хеш-ключа ETag - ноль реакции.

В конечном итоге была найдена информация, что апач будет отдавать Last-Modified только если у файла есть разрешение на execute для группы. Для chmod пришлось тоже писать скриптик, т.к. ходим к хостеру самбой.

И, о чудо, вдруг всё заработало! )))

 

 Механизм определения обновления через хеш ETag описывать не буду - он будет в первой 10 выдачи в гугле по запросу "etag".

Байкеры и автолюбители..

Только вернулась со съемок на Театральной площади. Шел дождь, периодически превращаясь в ливень. Я предвидела такую ситуацию и взяла зонтик. Он пригодился. Я им прикрывала... камеру от дождя.. Вся мокрая, как мышь.

Но сама получила огромное удовольствие от этих съемок. 2 байк-клуба и 3 автоклубы показали класс. Мы тоже.. Мчались по встречке на Московской со скоростью 100 км/ч (надо было обогнать колонну из байков и автомобилей).. Я жива!)) 

at revision 100

Безумное 3 вчера отмечал 100 ревижн. Всего сотый, потому, что на работе в репозиторий сливать нет возможности (он на домашнем компе), и поэтому наработки с офисного компа раз в 2-3 дня сливаются на домашний, мержатся и закидываются в свн.

На сегодняшний день готово примерно 55% от запланированного объёма.

В принципе, это уже довольно работоспособный продукт, но запускать его ещё рано.

Пашка прислал ссылку

http://www.awd.ru/tip.htm - читал всё утро. Офигенно!

 

P.S. Узнал новое слово - impassable.

Вот такой тестик..

Вы - Джимми!

В-ввв-ы Дж-м-м-м-и! Вы великолепный комедиант и душа любой компании. Вам не состовляет труда развеселить любого. За это вас все любят!

Твик

 
65 %

Кайл

 
60 %

Баттерс

 
55 %

Картман

 
55 %

Кенни

 
38 %

Стен

 
35 %

Тимми!

 
22 %

Кто вы из сериала South Park?
Все о South Park

Он настоящий!!

Толерантность

Пост о малиновом варенье.

30 сентября!

Дживс и Вустер

 


 

 

16 сентября!

 

 

 

 

Коллекция потрясающих фоток из Пекина

http://stuff.thdesign.be/forum/varia/OS.html

фото подборка моей жизни